<destinationPolicy> <policyMap> <policyEntries> <policyEntry queue=">" memorylimit="1500mb"> <policyEntry topic=">" memorylimit="5mb"> <dispatchPolicy> <strictOrderDispatchPolicy> </strictOrderDispatchPolicy> <subscriptionRecoveryPolicy> <lastImageSubscriptionRecoveryPolicy> </lastImageSubscriptionRecoveryPolicy> </subscriptionRecoveryPolicy> </dispatchPolicy> </policyEntry> </policyEntry> </policyEntries></policyMap></destinationPolicy>
测试结果:
1. 单独 producer
10,027 async non-persistent msgs / sec
4,462 persistent msgs / sec,单位下同
2. 单独 consumer, 使用上步的数据
8,195
848
3. 同时producer 和 consumer, 当producer到10万条的时候开始 consumer
producer avg:
5,593
960
consumer avg:
4,462
1,002
结果分析:
- 同时producer&consumer偶尔有卡住3~5s的现象(可能硬盘慢造成?),但会自动恢复
- 使用 async non-persistent 方式速度极快,对于偶尔丢失少量数据不敏感的应用极为适合。
- 使用 persistent 和 memcacheq 的速度区别不大。
- ActiveMQ 可以 tuning,因为相关配置复杂,没有进一步去研究。
|