说明:该测试方案文档旨在提供通用有效的rabbitmq性能测试方案,无论是单点rabbitmq还是rabbitmq集群,所以,这里没有必要提供具体的测试机器、操作系统、应用的信息。所有测试操作都是博主自己查阅官方文档实践操作过的,所以拿出来供大家参考。
一,背景说明
1,测试工具:
rabbitmq-perf-test-2.0.0(官方提供)
下载地址:https://bintray.com/rabbitmq/java-tools/download_file?file_path=perf-test%2F2.0.0%2Frabbitmq-perf-test-2.0.0-bin.tar.gz
2,测试工具需要环境:
jdk-8u151-linux-x64,说明JDK8即可
3,测试工具根目录:
/opt/software/rabbitmq-perf-test-2.0.0
4,工作目录:
/opt/software/rabbitmq-perf-test-2.0.0
5,命令执行示例:
./bin/runjava com.rabbitmq.perf.PerfTestMulti ./publish-consume-spec-persistent-pc1-cc0-simp.js ./publish-consume-spec-persistent-pc1-cc0-simp-result.js
6,测试目的:
获取平均速度或实时速度;
messages平均发布速度(当消费者数量为0的时候才需要计算该值):即最终执行完队列中的消息数量除以60;
messages实时发布速度(当消费者数量为0的时候才需要计算该值):打开management-plugin的WEB界面------>Overview------>Message rates last minute,在测试过程中查看此处的值;
messages实时发布速度(当消费者数量不为0的时候才需要计算该值):打开management-plugin的WEB界面------>Overview------>Message rates last minute,在测试过程中查看此处的值;
7,注意事项:
1,消费者数量为0,只有生产者的测试,每次测试完之后都需要在rabbitmq的management-plugin的web界面把limu01这个queue删除,不然messages会累积占用内存;
2,消费者和生产者数量都不为0的情况下,测试完之后对应的queue就会被消费掉,无需手动删除;
二,具体测试操作
(一)测试指标:no persistent;no confirm;no ack;指定queue名称,共8次,每次执行60s;
一个runjava进程:
1,1个生产者,0个消费者(0个消费者就是no ack了,如果有消费者,默认就是auto ack,auto ack )
[{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'consume',
'type': 'simple',
'params': [{'time-limit': 60,
'queue-names': ['limu01'],
'confirm': -1,
'min-msg-size': 200,
'producer-count': 1,
'consumer-count': 0]}]
2,2个生产者,0个消费者(0个消费者就是no ack了,如果有消费者,默认就是auto ack,auto ack )
[{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'consume',
'type': 'simple',
'params': [{'time-limit': 60,
'queue-names': ['limu01'],
'confirm': -1,
'min-msg-size': 200,
'producer-count': 2,
'consumer-count': 0]}]
3,3个生产者,0个消费者(0个消费者就是no ack了,如果有消费者,默认就是auto ack,auto ack )
[{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'consume',
'type': 'simple',
'params': [{'time-limit': 60,
'queue-names': ['limu01'],
'confirm': -1,
'min-msg-size': 200,
'producer-count': 3,
'consumer-count': 0]}]
4,4个生产者,0个消费者(0个消费者就是no ack了,如果有消费者,默认就是auto ack,auto ack )
[{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'consume',
'type': 'simple',
'params': [{'time-limit': 60,
'queue-names': ['limu01'],
'confirm': -1,
'min-msg-size': 200,
'producer-count': 4,
'consumer-count': 0]}]
5,5个生产者,0个消费者(0个消费者就是no ack了,如果有消费者,默认就是auto ack,auto ack )
[{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'consume',
'type': 'simple',
'params': [{'time-limit': 60,
'queue-names': ['limu01'],
'confirm': -1,
'min-msg-size': 200,
'producer-count': 5,
'consumer-count': 0]}]
6,6个生产者,0个消费者(0个消费者就是no ack了,如果有消费者,默认就是auto ack,auto ack )
[{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'consume',
'type': 'simple',
'params': [{'time-limit': 60,
'queue-names': ['limu01'],
'confirm': -1,
'min-msg-size': 200,
'producer-count': 6,
'consumer-count': 0]}]
7,7个生产者,0个消费者(0个消费者就是no ack了,如果有消费者,默认就是auto ack,auto ack )
[{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'consume',
'type': 'simple',
'params': [{'time-limit': 60,
'queue-names': ['limu01'],
'confirm': -1,
'min-msg-size': 200,
'producer-count': 7,
'consumer-count': 0]}]
8,8个生产者,0个消费者(0个消费者就是no ack了,如果有消费者,默认就是auto ack,auto ack )
[{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'consume',
'type': 'simple',
'params': [{'time-limit': 60,
'queue-names': ['limu01'],
'confirm': -1,
'min-msg-size': 200,
'producer-count': 8,
'consumer-count': 0]}]
(二)测试指标:no persistent;confirm;no ack;指定queue名称,共1次;每次执行60s。
一个runjava进程:
1,4个生产者,0个消费者
[{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'consume',
'type': 'simple',
'params': [{'time-limit': 60,
'queue-names': ['limu01'],
'confirm': 0,
'min-msg-size': 200,
'producer-count': 4,
'consumer-count': 0]}]
(三)测试指标:no persistent;no confirm;auto ack;指定queue名称,共4次;每次执行60s。
一个runjava进程:
说明:生产者使用no confirm,而且数量比消费者多,是为了确保生产速度不会成为消费速度的瓶颈。
1,4个生产者,3个消费者,multi-ack-every 0秒
[{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'consume',
'type': 'simple',
'params': [{'time-limit': 60,
'queue-names': ['limu01'],
'confirm': -1,
'auto-ack': true,
'min-msg-size': 200,
'producer-count': 4,
'consumer-count': 3]}]
2,4个生产者,3个消费者,multi-ack-every 10秒
[{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'consume',
'type': 'simple',
'params': [{'time-limit': 60,
'queue-names': ['limu01'],
'confirm': -1,
'auto-ack': true,
'multi-ack-every': 10,
'min-msg-size': 200,
'producer-count': 4,
'consumer-count': 3]}]
3,4个生产者,3个消费者,multi-ack-every 30秒
[{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'consume',
'type': 'simple',
'params': [{'time-limit': 60,
'queue-names': ['limu01'],
'confirm': -1,
'auto-ack': true,
'multi-ack-every': 30,
'min-msg-size': 200,
'producer-count': 4,
'consumer-count': 3]}]
4,4个生产者,3个消费者,multi-ack-every 60秒
[{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'consume',
'type': 'simple',
'params': [{'time-limit': 60,
'queue-names': ['limu01'],
'confirm': -1,
'auto-ack': true,
'multi-ack-every': 60,
'min-msg-size': 200,
'producer-count': 4,
'consumer-count': 3]}]
(四)测试指标:no persistent;no confirm;consumer(manual) ack;指定queue名称,共4次;每次执行60s。
一个runjava进程:
1,4个生产者,3个消费者,multi-ack-every 0秒
[{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'consume',
'type': 'simple',
'params': [{'time-limit': 60,
'queue-names': ['limu01'],
'confirm': -1,
'auto-ack': false,
'min-msg-size': 200,
'producer-count': 4,
'consumer-count': 3]}]
2,4个生产者,3个消费者,multi-ack-every 10秒
[{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'consume',
'type': 'simple',
'params': [{'time-limit': 60,
'queue-names': ['limu01'],
'confirm': -1,
'auto-ack': false,
'multi-ack-every': 10,
'min-msg-size': 200,
'producer-count': 4,
'consumer-count': 3]}]
3,4个生产者,3个消费者,multi-ack-every 30秒
[{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'consume',
'type': 'simple',
'params': [{'time-limit': 60,
'queue-names': ['limu01'],
'confirm': -1,
'auto-ack': false,
'multi-ack-every': 30,
'min-msg-size': 200,
'producer-count': 4,
'consumer-count': 3]}]
4,4个生产者,3个消费者,multi-ack-every 60秒
[{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'consume',
'type': 'simple',
'params': [{'time-limit': 60,
'queue-names': ['limu01'],
'confirm': -1,
'auto-ack': false,
'multi-ack-every': 60,
'min-msg-size': 200,
'producer-count': 4,
'consumer-count': 3]}]
(五)测试指标:persistent;no confirm;no ack;指定queue名称,共8次,每次执行60s;
一个runjava进程:
1,1个生产者,0个消费者(0个消费者就是no ack了,如果有消费者,默认就是auto ack,auto ack )
[{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'consume',
'type': 'simple',
'params': [{'time-limit': 60,
'queue-names': ['limu01'],
'flags': ['persistent'],
'confirm': -1,
'min-msg-size': 200,
'producer-count': 1,
'consumer-count': 0]}]
2,2个生产者,0个消费者(0个消费者就是no ack了,如果有消费者,默认就是auto ack,auto ack )
[{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'consume',
'type': 'simple',
'params': [{'time-limit': 60,
'queue-names': ['limu01'],
'flags': ['persistent'],
'confirm': -1,
'min-msg-size': 200,
'producer-count': 2,
'consumer-count': 0]}]
3,3个生产者,0个消费者(0个消费者就是no ack了,如果有消费者,默认就是auto ack,auto ack )
[{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'consume',
'type': 'simple',
'params': [{'time-limit': 60,
'queue-names': ['limu01'],
'flags': ['persistent'],
'confirm': -1,
'min-msg-size': 200,
'producer-count': 3,
'consumer-count': 0]}]
4,4个生产者,0个消费者(0个消费者就是no ack了,如果有消费者,默认就是auto ack,auto ack )
[{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'consume',
'type': 'simple',
'params': [{'time-limit': 60,
'queue-names': ['limu01'],
'flags': ['persistent'],
'confirm': -1,
'min-msg-size': 200,
'producer-count': 4,
'consumer-count': 0]}]
5,5个生产者,0个消费者(0个消费者就是no ack了,如果有消费者,默认就是auto ack,auto ack )
[{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'consume',
'type': 'simple',
'params': [{'time-limit': 60,
'queue-names': ['limu01'],
'flags': ['persistent'],
'confirm': -1,
'min-msg-size': 200,
'producer-count': 5,
'consumer-count': 0]}]
6,6个生产者,0个消费者(0个消费者就是no ack了,如果有消费者,默认就是auto ack,auto ack )
[{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'consume',
'type': 'simple',
'params': [{'time-limit': 60,
'queue-names': ['limu01'],
'flags': ['persistent'],
'confirm': -1,
'min-msg-size': 200,
'producer-count': 6,
'consumer-count': 0]}]
7,7个生产者,0个消费者(0个消费者就是no ack了,如果有消费者,默认就是auto ack,auto ack )
[{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'consume',
'type': 'simple',
'params': [{'time-limit': 60,
'queue-names': ['limu01'],
'flags': ['persistent'],
'confirm': -1,
'min-msg-size': 200,
'producer-count': 7,
'consumer-count': 0]}]
8,8个生产者,0个消费者(0个消费者就是no ack了,如果有消费者,默认就是auto ack,auto ack )
[{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'consume',
'type': 'simple',
'params': [{'time-limit': 60,
'queue-names': ['limu01'],
'flags': ['persistent'],
'confirm': -1,
'min-msg-size': 200,
'producer-count': 8,
'consumer-count': 0]}]
(六)测试指标:persistent;confirm;no ack;指定queue名称,共1次;每次执行60s。
一个runjava进程:
1,4个生产者,0个消费者
[{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'consume',
'type': 'simple',
'params': [{'time-limit': 60,
'queue-names': ['limu01'],
'flags': ['persistent'],
'confirm': 0,
'min-msg-size': 200,
'producer-count': 4,
'consumer-count': 0]}]
(七)测试指标:persistent;no confirm;auto ack;指定queue名称,共4次;每次执行60s。
一个runjava进程:
说明:生产者使用no confirm,而且数量比消费者多,是为了确保生产速度不会成为消费速度的瓶颈。
1,4个生产者,3个消费者,multi-ack-every 0秒
[{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'consume',
'type': 'simple',
'params': [{'time-limit': 60,
'queue-names': ['limu01'],
'flags': ['persistent'],
'confirm': -1,
'auto-ack': true,
'min-msg-size': 200,
'producer-count': 4,
'consumer-count': 3]}]
2,4个生产者,3个消费者,multi-ack-every 10秒
[{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'consume',
'type': 'simple',
'params': [{'time-limit': 60,
'queue-names': ['limu01'],
'flags': ['persistent'],
'confirm': -1,
'auto-ack': true,
'multi-ack-every': 10,
'min-msg-size': 200,
'producer-count': 4,
'consumer-count': 3]}]
3,4个生产者,3个消费者,multi-ack-every 30秒
[{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'consume',
'type': 'simple',
'params': [{'time-limit': 60,
'queue-names': ['limu01'],
'flags': ['persistent'],
'confirm': -1,
'auto-ack': true,
'multi-ack-every': 30,
'min-msg-size': 200,
'producer-count': 4,
'consumer-count': 3]}]
4,4个生产者,3个消费者,multi-ack-every 60秒
[{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'consume',
'type': 'simple',
'params': [{'time-limit': 60,
'queue-names': ['limu01'],
'flags': ['persistent'],
'confirm': -1,
'auto-ack': true,
'multi-ack-every': 60,
'min-msg-size': 200,
'producer-count': 4,
'consumer-count': 3]}]
(八)测试指标:persistent;no confirm;consumer(manual) ack;指定queue名称,共4次;每次执行60s。
一个runjava进程:
1,4个生产者,3个消费者,multi-ack-every 0秒
[{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'consume',
'type': 'simple',
'params': [{'time-limit': 60,
'queue-names': ['limu01'],
'flags': ['persistent'],
'confirm': -1,
'auto-ack': false,
'min-msg-size': 200,
'producer-count': 4,
'consumer-count': 3]}]
2,4个生产者,3个消费者,multi-ack-every 10秒
[{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'consume',
'type': 'simple',
'params': [{'time-limit': 60,
'queue-names': ['limu01'],
'flags': ['persistent'],
'confirm': -1,
'auto-ack': false,
'multi-ack-every': 10,
'min-msg-size': 200,
'producer-count': 4,
'consumer-count': 3]}]
3,4个生产者,3个消费者,multi-ack-every 30秒
[{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'consume',
'type': 'simple',
'params': [{'time-limit': 60,
'queue-names': ['limu01'],
'flags': ['persistent'],
'confirm': -1,
'auto-ack': false,
'multi-ack-every': 30,
'min-msg-size': 200,
'producer-count': 4,
'consumer-count': 3]}]
4,4个生产者,3个消费者,multi-ack-every 60秒
[{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'consume',
'type': 'simple',
'params': [{'time-limit': 60,
'queue-names': ['limu01'],
'flags': ['persistent'],
'confirm': -1,
'auto-ack': false,
'multi-ack-every': 60,
'min-msg-size': 200,
'producer-count': 4,
'consumer-count': 3]}]
(九)测试指标:no persistent,没指定queue名称,no confirm,no ack(也就是没有消费者),共3次,每次执行60s。
一个runjava进程:
1,10个生产者,0个消费者
[
{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'message-sizes-and-producers',
'type': 'varying',
'params': [{'time-limit': 60,
'consumer-count': 0,
'min-msg-size': 200}],
'variables': [{'name': 'producer-count',
'values': [10]}]
}
]
2,20个生产者,0个消费者
[
{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'message-sizes-and-producers',
'type': 'varying',
'params': [{'time-limit': 60,
'consumer-count': 0,
'min-msg-size': 200}],
'variables': [{'name': 'producer-count',
'values': [20]}]
}
]
3,30个生产者,0个消费者
[
{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'message-sizes-and-producers',
'type': 'varying',
'params': [{'time-limit': 60,
'consumer-count': 0,
'min-msg-size': 200}],
'variables': [{'name': 'producer-count',
'values': [30]}]
}
]
下面的测试比较特殊,说明如下:
创建6个配置文件:可以根据需要调整个数;
./various-spec1.js
./various-spec2.js
./various-spec3.js
./various-spec4.js
./various-spec5.js
./various-spec6.js
xshell上打开6个shell界面,同时执行6个runjava进程,也可以一个窗口下后台运行(该方法可以尝试一下):
./bin/runjava com.rabbitmq.perf.PerfTestMulti ./various-spec1.js ./various-spec1-result.js
./bin/runjava com.rabbitmq.perf.PerfTestMulti ./various-spec2.js ./various-spec2-result.js
./bin/runjava com.rabbitmq.perf.PerfTestMulti ./various-spec3.js ./various-spec3-result.js
./bin/runjava com.rabbitmq.perf.PerfTestMulti ./various-spec4.js ./various-spec4-result.js
./bin/runjava com.rabbitmq.perf.PerfTestMulti ./various-spec5.js ./various-spec5-result.js
./bin/runjava com.rabbitmq.perf.PerfTestMulti ./various-spec6.js ./various-spec6-result.js
(十)测试指标:persistent,指定queue名称,no confirm,no ack,共1次,执行60秒;
1,6个runjava进程,每个runjava进程10个生产者,0个消费者,共60个生产者,0个消费者。
./various-spec1.js
[
{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'message-sizes-and-producers',
'type': 'varying',
'params': [{'time-limit': 60,
'consumer-count': 0,
'flags': ['persistent'],
'confirm': -1,
'min-msg-size': 200}],
'variables': [{'name': 'producer-count',
'values': [10]},
{'name': 'queue-names',
'values': [['limu01']]}]
}
]
./various-spec2.js
[
{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'message-sizes-and-producers',
'type': 'varying',
'params': [{'time-limit': 60,
'consumer-count': 0,
'flags': ['persistent'],
'confirm': -1,
'min-msg-size': 200}],
'variables': [{'name': 'producer-count',
'values': [10]},
{'name': 'queue-names',
'values': [['limu02']]}]
}
]
./various-spec3.js
[
{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'message-sizes-and-producers',
'type': 'varying',
'params': [{'time-limit': 60,
'consumer-count': 0,
'flags': ['persistent'],
'confirm': -1,
'min-msg-size': 200}],
'variables': [{'name': 'producer-count',
'values': [10]},
{'name': 'queue-names',
'values': [['limu03']]}]
}
]
./various-spec4.js
[
{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'message-sizes-and-producers',
'type': 'varying',
'params': [{'time-limit': 60,
'consumer-count': 0,
'flags': ['persistent'],
'confirm': -1,
'min-msg-size': 200}],
'variables': [{'name': 'producer-count',
'values': [10]},
{'name': 'queue-names',
'values': [['limu04']]}]
}
]
./various-spec5.js
[
{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'message-sizes-and-producers',
'type': 'varying',
'params': [{'time-limit': 60,
'consumer-count': 0,
'flags': ['persistent'],
'confirm': -1,
'min-msg-size': 200}],
'variables': [{'name': 'producer-count',
'values': [10]},
{'name': 'queue-names',
'values': [['limu05']]}]
}
]
./various-spec6.js
[
{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'message-sizes-and-producers',
'type': 'varying',
'params': [{'time-limit': 60,
'consumer-count': 0,
'flags': ['persistent'],
'confirm': -1,
'min-msg-size': 200}],
'variables': [{'name': 'producer-count',
'values': [10]},
{'name': 'queue-names',
'values': [['limu06']]}]
}
]
(十一)测试指标:persistent,指定queue名称,confirm,auto ack,共1次,执行60秒;
1,6个runjava进程,每个runjava进程10个生产者和10个消费者,共60个生产者和60个消费者;
./various-spec1.js
[
{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'message-sizes-and-producers',
'type': 'varying',
'params': [{'time-limit': 60,
'consumer-count': 10,
'auto-ack': true,
'flags': ['persistent'],
'confirm': 0,
'min-msg-size': 200}],
'variables': [{'name': 'producer-count',
'values': [10]},
{'name': 'queue-names',
'values': [['limu01']]}]
}
]
./various-spec2.js
[
{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'message-sizes-and-producers',
'type': 'varying',
'params': [{'time-limit': 60,
'consumer-count': 10,
'auto-ack': true,
'flags': ['persistent'],
'confirm': 0,
'min-msg-size': 200}],
'variables': [{'name': 'producer-count',
'values': [10]},
{'name': 'queue-names',
'values': [['limu02']]}]
}
]
./various-spec3.js
[
{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'message-sizes-and-producers',
'type': 'varying',
'params': [{'time-limit': 60,
'consumer-count': 10,
'auto-ack': true,
'flags': ['persistent'],
'confirm': 0,
'min-msg-size': 200}],
'variables': [{'name': 'producer-count',
'values': [10]},
{'name': 'queue-names',
'values': [['limu03']]}]
}
]
./various-spec4.js
[
{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'message-sizes-and-producers',
'type': 'varying',
'params': [{'time-limit': 60,
'consumer-count': 10,
'auto-ack': true,
'flags': ['persistent'],
'confirm': 0,
'min-msg-size': 200}],
'variables': [{'name': 'producer-count',
'values': [10]},
{'name': 'queue-names',
'values': [['limu04']]}]
}
]
./various-spec5.js
[
{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'message-sizes-and-producers',
'type': 'varying',
'params': [{'time-limit': 60,
'consumer-count': 10,
'auto-ack': true,
'flags': ['persistent'],
'confirm': 0,
'min-msg-size': 200}],
'variables': [{'name': 'producer-count',
'values': [10]},
{'name': 'queue-names',
'values': [['limu05']]}]
}
]
./various-spec6.js
[
{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'message-sizes-and-producers',
'type': 'varying',
'params': [{'time-limit': 60,
'consumer-count': 10,
'auto-ack': true,
'flags': ['persistent'],
'confirm': 0,
'min-msg-size': 200}],
'variables': [{'name': 'producer-count',
'values': [10]},
{'name': 'queue-names',
'values': [['limu06']]}]
}
]
(十二)测试指标:persistent,指定queue名称,confirm,consumer ack,共1次,执行60s。
1,6个runjava进程,每个runjava进程10个生产者和10个消费者,共60个生产者和60个消费者;
./various-spec1.js
[
{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'message-sizes-and-producers',
'type': 'varying',
'params': [{'time-limit': 60,
'consumer-count': 10,
'flags': ['persistent'],
'confirm': 0,
'auto-ack': false,
'min-msg-size': 200}],
'variables': [{'name': 'producer-count',
'values': [10]},
{'name': 'queue-names',
'values': [['limu01']]}]
}
]
./various-spec2.js
[
{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'message-sizes-and-producers',
'type': 'varying',
'params': [{'time-limit': 60,
'consumer-count': 10,
'flags': ['persistent'],
'confirm': 0,
'auto-ack': false,
'min-msg-size': 200}],
'variables': [{'name': 'producer-count',
'values': [10]},
{'name': 'queue-names',
'values': [['limu02']]}]
}
]
./various-spec3.js
[
{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'message-sizes-and-producers',
'type': 'varying',
'params': [{'time-limit': 60,
'consumer-count': 10,
'flags': ['persistent'],
'confirm': 0,
'auto-ack': false,
'min-msg-size': 200}],
'variables': [{'name': 'producer-count',
'values': [10]},
{'name': 'queue-names',
'values': [['limu03']]}]
}
]
./various-spec4.js
[
{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'message-sizes-and-producers',
'type': 'varying',
'params': [{'time-limit': 60,
'consumer-count': 10,
'flags': ['persistent'],
'confirm': 0,
'auto-ack': false,
'min-msg-size': 200}],
'variables': [{'name': 'producer-count',
'values': [10]},
{'name': 'queue-names',
'values': [['limu04']]}]
}
]
./various-spec5.js
[
{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'message-sizes-and-producers',
'type': 'varying',
'params': [{'time-limit': 60,
'consumer-count': 10,
'flags': ['persistent'],
'confirm': 0,
'auto-ack': false,
'min-msg-size': 200}],
'variables': [{'name': 'producer-count',
'values': [10]},
{'name': 'queue-names',
'values': [['limu05']]}]
}
]
./various-spec6.js
[
{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'message-sizes-and-producers',
'type': 'varying',
'params': [{'time-limit': 60,
'consumer-count': 10,
'flags': ['persistent'],
'confirm': 0,
'auto-ack': false,
'min-msg-size': 200}],
'variables': [{'name': 'producer-count',
'values': [10]},
{'name': 'queue-names',
'values': [['limu06']]}]
}
]
(十三)测试指标:no persistent,指定queue名称,confirm,auto ack,共1次,执行60s。
1,6个runjava进程,每个runjava进程10个生产者和10个消费者,共60个生产者和60个消费者;
./various-spec1.js
[
{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'message-sizes-and-producers',
'type': 'varying',
'params': [{'time-limit': 60,
'consumer-count': 10,
'confirm': 0,
'auto-ack': true,
'min-msg-size': 200}],
'variables': [{'name': 'producer-count',
'values': [10]},
{'name': 'queue-names',
'values': [['limu01']]}]
}
]
./various-spec2.js
[
{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'message-sizes-and-producers',
'type': 'varying',
'params': [{'time-limit': 60,
'consumer-count': 10,
'confirm': 0,
'auto-ack': true,
'min-msg-size': 200}],
'variables': [{'name': 'producer-count',
'values': [10]},
{'name': 'queue-names',
'values': [['limu02']]}]
}
]
./various-spec3.js
[
{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'message-sizes-and-producers',
'type': 'varying',
'params': [{'time-limit': 60,
'consumer-count': 10,
'confirm': 0,
'auto-ack': true,
'min-msg-size': 200}],
'variables': [{'name': 'producer-count',
'values': [10]},
{'name': 'queue-names',
'values': [['limu03']]}]
}
]
./various-spec4.js
[
{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'message-sizes-and-producers',
'type': 'varying',
'params': [{'time-limit': 60,
'consumer-count': 10,
'confirm': 0,
'auto-ack': true,
'min-msg-size': 200}],
'variables': [{'name': 'producer-count',
'values': [10]},
{'name': 'queue-names',
'values': [['limu04']]}]
}
]
./various-spec5.js
[
{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'message-sizes-and-producers',
'type': 'varying',
'params': [{'time-limit': 60,
'consumer-count': 10,
'confirm': 0,
'auto-ack': true,
'min-msg-size': 200}],
'variables': [{'name': 'producer-count',
'values': [10]},
{'name': 'queue-names',
'values': [['limu05']]}]
}
]
./various-spec6.js
[
{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'message-sizes-and-producers',
'type': 'varying',
'params': [{'time-limit': 60,
'consumer-count': 10,
'confirm': 0,
'auto-ack': true,
'min-msg-size': 200}],
'variables': [{'name': 'producer-count',
'values': [10]},
{'name': 'queue-names',
'values': [['limu06']]}]
}
]
(十四)测试指标:no persistent,指定queue名称,confirm,consumer ack,共1次,执行60s。
1,6个runjava进程,每个runjava进程10个生产者和10个消费者,共60个生产者和60个消费者;
./various-spec1.js
[
{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'message-sizes-and-producers',
'type': 'varying',
'params': [{'time-limit': 60,
'consumer-count': 10,
'confirm': 0,
'auto-ack': false,
'min-msg-size': 200}],
'variables': [{'name': 'producer-count',
'values': [10]},
{'name': 'queue-names',
'values': [['limu01']]}]
}
]
./various-spec2.js
[
{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'message-sizes-and-producers',
'type': 'varying',
'params': [{'time-limit': 60,
'consumer-count': 10,
'confirm': 0,
'auto-ack': false,
'min-msg-size': 200}],
'variables': [{'name': 'producer-count',
'values': [10]},
{'name': 'queue-names',
'values': [['limu02']]}]
}
]
./various-spec3.js
[
{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'message-sizes-and-producers',
'type': 'varying',
'params': [{'time-limit': 60,
'consumer-count': 10,
'confirm': 0,
'auto-ack': false,
'min-msg-size': 200}],
'variables': [{'name': 'producer-count',
'values': [10]},
{'name': 'queue-names',
'values': [['limu03']]}]
}
]
./various-spec4.js
[
{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'message-sizes-and-producers',
'type': 'varying',
'params': [{'time-limit': 60,
'consumer-count': 10,
'confirm': 0,
'auto-ack': false,
'min-msg-size': 200}],
'variables': [{'name': 'producer-count',
'values': [10]},
{'name': 'queue-names',
'values': [['limu04']]}]
}
]
./various-spec5.js
[
{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'message-sizes-and-producers',
'type': 'varying',
'params': [{'time-limit': 60,
'consumer-count': 10,
'confirm': 0,
'auto-ack': false,
'min-msg-size': 200}],
'variables': [{'name': 'producer-count',
'values': [10]},
{'name': 'queue-names',
'values': [['limu05']]}]
}
]
./various-spec6.js
[
{'uri': 'amqp://test:[email protected]:5672/test',
'name': 'message-sizes-and-producers',
'type': 'varying',
'params': [{'time-limit': 60,
'consumer-count': 10,
'confirm': 0,
'auto-ack': false,
'min-msg-size': 200}],
'variables': [{'name': 'producer-count',
'values': [10]},
{'name': 'queue-names',
'values': [['limu06']]}]
}
]