rabbitmq官方認可的壓測工具是開源的PerfTest,在rabbitmq官網可下載
使用方式:
./runjava com.rabbitmq.perf.PerfTest -h amqp://user:pass@192.168.0.1:5672 -e xxx_exchange -k xxx_route -s 50 -x 2 -y 0 --body-content-type application/json -t topic -p -z 5
id: test-203741-943, starting producer #0
id: test-203741-943, starting producer #0, channel #0
id: test-203741-943, starting producer #1
id: test-203741-943, starting producer #1, channel #0
id: test-203741-943, time: 3.646s, sent: 0.27 msg/s
id: test-203741-943, time: 4.720s, sent: 2642 msg/s
id: test-203741-943, time: 5.794s, sent: 5912 msg/s
id: test-203741-943, time: 6.876s, sent: 33278 msg/s
id: test-203741-943, time: 7.894s, sent: 11594 msg/s
id: test-203741-943, sending rate avg: 6638 msg/s
id: test-203741-943, receiving rate avg: 0 msg/s
參數解釋:--help有說明
重點說明的:
-h 這個是uri,需要是rabbitmq uri
-s 50個字節的消息,打開queue里實際上類似:
AABF3gAAvqjqKiOVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-t -p 默認exchange是direct,如果不是必須指定-t否則出錯。-p是聲明queue是durable持久化的,不加也會出錯
其他幾個參數很直白不必解釋
壓測目的:
rabbit能夠承載的並發隊列長度,大小,等等。通過mq web portal查看效果