ActiveMQ学习笔记8-单机ActiveMQ的优化
2019-06-29 14:28
204 查看
单机ActiveMQ的优化
协议端口优化
在5.13+之前的版本activemq.xml配置文件中可以配置协议的端口等属性。
<transportConnectors> <transportConnector name="openwire" uri="tcp://0.0.0.0:61616?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/> <transportConnector name="amqp" uri="amqp://0.0.0.0:5672?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/> <transportConnector name="stomp" uri="stomp://0.0.0.0:61613?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/> <transportConnector name="mqtt" uri="mqtt://0.0.0.0:1883?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/> <transportConnector name="ws" uri="ws://0.0.0.0:61614?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/> </transportConnectors>
1) 可以使用不同协议不同窗口。
2) 可以设置一些优化属性:maximumConnections”属性,代表这个端口支持的最大连接数量;”wireFormat.maxFrameSize”属相代表支持协议的“一个完整消息”的最大数据量(单位为byte);
在版本5.13+之后,统一一个配置。
<transportConnectors> <transportConnector name="auto" uri="auto://0.0.0.0:61617?maximumConnections=1000" /> </transportConnectors>
NIO模式
NIO是同步非阻塞模式,采用这种模式可以增加性能。
<transportConnector name="auto+nio" uri="auto+nio://0.0.0.0:61608?maximumConnections=1000" />
这里使用“+”号,可以合并使用协议和模式。
Prefetch机制
ActiveMQ有一个prefetch机制,用于提高发送效率,即服务器发送给客户端,可能一次性批量发送,减少客户端的请求次数。但是这个可能造成一个问题是很可能一直发送给同一台客户端,导致没有负责均衡。
可以通过配置queue或发布/订阅模式下面的prefetch数量。属性是:jms.prefetchPolicy.all=50
相关文章推荐
- Java消息中间件学习笔记四 -- ActiveMQ的使用,【队列模式】
- Cocos2dx游戏开发笔记21:动手学习《Flappy Bird》之继续优化(付源码)
- MySQL学习笔记(二)性能优化的笔记(转)
- 数学建模学习笔记(8)初等连续优化方法
- Python学习笔记——while循环优化脚本(二)
- MongoDB疑难杂症的分析和优化(学习笔记一)
- Android中应用的性能优化学习笔记
- 【C#】通过HtmlAgilityPack+XPath来优化网页采集学习笔记
- android性能优化学习笔记(加快应用程序启动速度:)
- SQL 优化学习笔记(一)
- 【Linux学习笔记】Hadoop_安装,单机测试,伪分布式
- MYSQL学习笔记——数据库范式及MYSQL优化整体思路
- Mysql学习笔记(九)索引查询优化
- 年终大学习之MySQL数据库优化学习笔记(二)
- 学习笔记--Ubuntu优化相关内容
- Andriod学习笔记1:代码优化总结1
- 输出100000以内的质数 (优化) 学习笔记
- MySql 学习笔记三:常用SQL优化
- SEO 学习笔记3——动态网页优化
- 吴恩达Coursera深度学习课程 DeepLearning.ai 提炼笔记(2-2)-- 优化算法