用本地的单节点 activemq 测试了下消息的生产和消费速度。
生产客户端 send 200W条 字符串 message。耗时大概6分钟,activemq服务端在这6分钟过程中,由于需要实力化消息,内存从163M不断攀升到1G左右。
另外kahadb持久化,生产的.log数据文件大概在500M左右,db.log也在500M左右。
simontondeMBP:kahadb simonton$ du -ah
32M ./db-10.log
32M ./db-11.log
32M ./db-12.log
32M ./db-13.log
32M ./db-14.log
32M ./db-15.log
32M ./db-16.log
32M ./db-17.log
32M ./db-18.log
32M ./db-19.log
32M ./db-20.log
32M ./db-21.log
32M ./db-22.log
32M ./db-23.log
32M ./db-24.log
32M ./db-25.log
32M ./db-26.log
32M ./db-27.log
32M ./db-28.log
32M ./db-5.log
32M ./db-6.log
32M ./db-7.log
32M ./db-8.log
32M ./db-9.log
565M ./db.data
3.1M ./db.redo
0B ./lock
1.3G .
200W的消息单客户节点消费时间在1分钟左右,消费结束后,kahadb .log文件数据也慢慢恢复,但索引文件db.data并没有恢复文件大小。
simontondeMBP:kahadb simonton$ du -ah
32M ./db-28.log
32M ./db-48.log
565M ./db.data
3.1M ./db.redo
0B ./lock
632M .
最后附上 activeMQ 官方推荐的专业的bench mark:
http://hiramchirino.com/jms-benchmark/ubuntu-2600k/index.html