ActiveMQ相关资料整理
ActiveMQ相关资料整理
ActiveMQ in Action_中文
ActiveMQ+In+Action翻译笔记-+更新版2011
ActiveMQ in Action 翻译
13.4 性能优化实战
13.3 优化消息消费者
13.2 优化消息生产者
13.1 通用调优技术
13 ActiveMQ性能调优
12.6 使用ActiveMQ消息调度延迟发送消息
12.5 使用故障转移协议应对代理或网络故障
......
ActiveMQ 即时通讯服务 浅析
ActiveMQ内存设置和流控
ActiveMQ技术详解
[MQ]关于ActiveMQ的配置
activeMQ消费消息时网络流量异常大的问题
ActiveMQ学习和研究
ActiveMQ的拦截器插件
ActiveMQ的各种表SQL的管理
ActiveMQ中advisory的使用和原理
ActiveMQ的异步转发(DispatchAsync)功能
ActiveMQ 的独占消费(Exclusive Consumer)
ActiveMQ5.5在Tomcat6.0中部署
Window 下ActiveMQ端口冲突,负载均衡,主备配置
ActiveMQ中消息权限策略
ActiveMQ和Jetty整合使用
ActiveMQ 和Commons-Daemon整合
关于ActiveMQ中怎么实现一对多发送消息讨论
ActiveMQ 中ActiveMQBlobMessage的接收和发送
ActiveMQ 和JAXWS整合
ActiveMQ-Camel的使用
ActiveMQ模板和Velocity整合使用
ActiveMQ中消息游标
ActiveMQ和Tomcat的整合应用
ActiveMQ关于文件传输需要注意哪些方面?
关于ActiveMQ中Session和Connection资源的管理
ActiveMQ中关于文件锁的机制的学习
ActiveMQ的JMX监控使用
ActiveMQ 通过JMX监控Connection,Queue,Topic的信息
activemq消息队列的大小配置的配置
ActiveMQ 持久化消息数据库信息
ActiveMQ Conneccton中的队列的监听的使用和测试
ActiveMQ BlobMessage发送消息的测试
ActiveMQ VS HornetQ
ActiveMQ中的KahaDB消息日志的恢复机制和可靠性
ActiveMQ 基于JAAS的管理机制
ActiveMQ 定时调度的使用查看任务消息
ActiveMQ 中端口和消息的管理和调度CronParser测试问题
ActiveMQ Spring 整合持久化到数据库的实现
ActiveMQ 连接池工厂
ActiveMQ基于derby数据库的spring整合
ActiveMQ消息持久化到数据库
ActiveMQ基于Queue的发送消息模式
基于Tomcat容器的ActiveMQ简单实例
ActiveMQ简单实例发送消息
ActiveMQ讯息传送机制以及ACK机制详解
ActiveMQ中Producer特征详解
[异步][jms][activeMq]如何做到重试机制不会导致一条消息被多次执行.
优化ActiveMQ
性能
深入浅出ActiveMQ 即时通讯服务(ActiveMQ5.8)
ActiveMQ使用笔记
ActiveMQ使用笔记(八)使用过程中出现的问题
ActiveMQ使用笔记(七)ActiveMQ性能优化
ActiveMQ使用笔记(六)ActiveMQ主备配置
ActiveMQ使用笔记(五)ActiveMQ负载均衡
ActiveMQ使用笔记(四)ActiveMQ配置安全性
ActiveMQ使用笔记(三)ActiveMQ消息发送与接收
ActiveMQ使用笔记(二)ActiveMQ消息持久化(3)
ActiveMQ使用笔记(二)ActiveMQ消息持久化(2)
ActiveMQ使用笔记(二)ActiveMQ消息持久化(1)
ActiveMQ使用笔记(一)ActiveMQ的安装
ActiveMQ之Ajax调用
=============================================
官方文档
入门:http://activemq.apache.org/getting-started.html
常见问题:http://activemq.apache.org/faq.html
各种功能特性详解:http://activemq.apache.org/features.html
连通性相关文档:http://activemq.apache.org/connectivity.html
相关的各种工具:http://activemq.apache.org/tools.html
开发者文档:http://activemq.apache.org/developers.html
设计文档:http://activemq.apache.org/design-documents.html
经验与技术文章
各路神仙关于ActiveMQ的技术文章:http://activemq.apache.org/articles.html
相关书籍
ActiveMQ in Action: http://researchnotes.googlecode.com/svn/mq/activemq/activemq%20in%20action.pdf
Apache ActiveMQ Reference Guide: http://researchnotes.googlecode.com/svn/mq/activemq/userguide.pdf
=========================================
影响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
根据JMS规范,消息是不可变的。send的时候,会自动的添加一些属性。有时候,可能会重用,或者多线程处理。为了不影响消息的不可变性,发送的时候,先复制一份,这样,发送时处理的消息对象和你的代码持有的消息对象,是两个不同对象了。相互之间就不会互相影响了。
一般情况下,这个选项可以关闭,从而获得一定的性能提升。
9、consumer端,获取消息时候的prefetchSize设置。 一定范围情况下,一次预获取越大,总体性能越好。
==========================================
ActiveMQ性能与调优相关链接
amq自己带了一个性能test:http://activemq.apache.org/activemq-performance-module-users-manual.html
使用jmeter压测的介绍:http://activemq.apache.org/jmeter-performance-tests.html
我个人的经验:http://setting.iteye.com/blog/989593
官方的性能报告:http://fusesource.com/docs/collateral/ActiveMQ%20Performance.pdf
调优手册:http://fusesource.com/wiki/display/ProdInfo/FUSE+Message+Broker+Performance+Tuning+Guide
比较全的调优相关内容:http://fusesource.com/docs/broker/5.4/tuning/index.html