影响ActiveMQ性能的几个重要因素
Queue
1、Send/dispatch Async 影响非常大
同步异步的发送和投递,都非常影响吞吐量。另外,SystemUsage和PFC流控对同步发送有直接影响。
2、Not transacted 去掉了记录redo日志
3、Auto_ACK/Optim_ACK 优化确认
减少交互次数
4、Non-persistence 持久化消息,跟下面几点有关
持久化和非持久化,也是数量级的影响,毕竟为了提高可靠性,使用数据库或文件来存消息,开销非常大。
5、pendingQueuePolicy/vmQueueCursor 决定了消息存储+发送模式,影响很大
内存最快,文件和jdbc方式更安全,但是非常慢。。。
6、producerFlowControl/memoryLimit 可能会直接block掉producer
vmCursor+非持久时,直接变成一个内存MQ,为了不爆掉jvm,在消息积压到指定数量的时候,