影响ActiveMQ性能的几个重要因素

转载来自:http://setting.iteye.com/blog/989593


影响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,在消息积压到指定数量的时候,PFC会阻止生产消息。
7、fast/slow consumer      决定了消息处理模式

     跟上面几点有关系。

8、在connection或connectionFactory上关闭掉 copyMessageOnSend

<!--StartFragment -->
根据JMS规范,消息是不可变的。send的时候,会自动的添加一些属性。有时候,可能会重用,或者多线程处理。为了不影响消息的不可变性,发送的时候,先复制一份,这样,发送时处理的消息对象和你的代码持有的消息对象,是两个不同对象了。相互之间就不会互相影响了。
一般情况下,这个选项可以关闭,从而获得一定的性能提升。
9、consumer端,获取消息时候的prefetchSize设置。 一定范围情况下,一次预获取越大,总体性能越好。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值