文档章节

ActiveMQ - performance tuning - general

nicholcz
 nicholcz
发布于 2014/06/20 14:40
字数 275
阅读 40
收藏 0

What's delivery mode, which one is the default?

- The JMS spec allows for 2 delivery modes: persistent and non-persistent, the default mode is persistent.


Why non-peristent mode is faster?

  1. message producer doesn't have to wait for a receipt from the broker.

  2. persisting messages to message store is slow compared to messaging over network.


Hot to set non-persistent?

MessageProducer producer = session.createProducer(topic);
producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);


Why we batch up production of messages?

- Only the transaction boundary results in synchronous communication with the message broker.

So, we can batch up the production of messages.

Session session = con.createSession(true, Session.SESSION_TRANSACTED);
...
session.commit();


What transport should we use if the service that's dependent on a message broker co-locate with it?

- VM transport. Because messages delivered through a broker don't incur the cost of being serialized on the wire to be transported across the network.


What is OpenWire? How to tune this protocol?

- OpenWire is the default wire format used in ActiveMQ. 

- how to tune[default]:

  1. tightEncodingEnabled=false: this will disable CPU-intensive way to compact messages. [true]

  2. cacheEnabled=false: this will disable cache. Caching is good to remove repeated values from messages which improve the performance over network but cache look will bring about CPU load. [true]

.....

How to tune TCP transport?

  1. socketBufferSize: Usually the bigger the better. [65536]

  2. tcpNoDelay: normally a TCP socket buffers up small pieces of data before being sent. When we enable this option, messages will be sent ASAP.

Both above items are OS-dependent, it's worth testing!!


If we use Persistent delivery mode, how to tune?

- asynchronous send. This will tell producer not to expect receipt from broker that the message is on disk

© 著作权归作者所有

共有 人打赏支持
上一篇: core java - array
下一篇: ActiveMQ - Caching
nicholcz
粉丝 0
博文 23
码字总数 4226
作品 0
黄浦
程序员
私信 提问
ActiveMQ性能与调优相关链接

ActiveMQ性能与调优相关链接 amq自己带了一个性能test:http://activemq.apache.org/activemq-performance-module-users-manual.html 使用jmeter压测的介绍:http://activemq.apache.org/jm......

stefanzhlg
2014/12/24
0
0
ActiveMQ 5.12.0 发布,JMS 消息服务器

ActiveMQ 5.12.0 发布,此版本解决了一些 issues,改进了 AMQP 和 MQTT 支持,修复了 STOMP 和 MQTT 相关的问题。 下载: apache-activemq-5.12.0-bin.zip apache-activemq-5.12.0-bin.tar....

chaun
2015/08/17
2.8K
4
Ubuntu下安装ActiveMQ

主要参考http://www.jmkg.co.uk/2010/08/31/installing-activemq-on-ubuntu/,略有补充 1. 下载安装包,建立activemq用户,安装 下载最新的activemq,写此文时为5.7。 cd /opt/tar xvzf xxx...

RuralHunter
2013/01/22
0
0
ActiveMQ-CPP 3.8.0 发布

CMS (全称是 C++ Messaging Service) 是一个 C++ 实现的类似 JMS 的 API,用于实现例如 ActiveMQ 的消息代理服务。CMS 可以帮助你的 C++ 客户端代码更见简单。ActiveMQ-CPP 是一个纯客户端库...

oschina
2013/09/14
1K
0
Win7环境下安装ActiveMQ

参考ActiveMQ官方文档:http://activemq.apache.org/getting-started.html 安装ActiveMQ 近来要学习JMS,在网上查了些资料,发现ActiveMQ是比较流行的JMS开源框架,决定使用ActiveMQ来学习J...

纠结名字
2015/08/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

deepin中配置robot framework环境

本文永久更新地址:https://my.oschina.net/bysu/blog/2989005 【若要到岸,请摇船:开源中国 不最醉不龟归】 1.在终端中输入pip,回车,如果提示没有该命令,则先安转pip sudo apt-get inst...

不最醉不龟归
19分钟前
2
0
OSChina 周日乱弹 —— 钱不还,我就当你人不在了

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @莱布妮子 :分享Bigleaf的单曲《小鹿》 《小鹿》- Bigleaf 手机党少年们想听歌,请使劲儿戳(这里) 周日在家做什么? 做手工呀, @poorfis...

小小编辑
今天
85
3
EOS docker开发环境

使用eos docker镜像是部署本地EOS开发环境的最轻松愉快的方法。使用官方提供的eos docker镜像,你可以快速建立一个eos开发环境,可以迅速启动开发节点和钱包服务器、创建账户、编写智能合约....

汇智网教程
今天
20
0
《唐史原来超有趣》的读后感优秀范文3700字

《唐史原来超有趣》的读后感优秀范文3700字: 作者:花若离。我今天分享的内容《唐史原来超有趣》这本书的读后感,我将这本书看了一遍之后就束之高阁了,不过里面的内容一直在在脑海中回放,...

原创小博客
今天
29
0
IC-CAD Methodology知识图谱

CAD (Computer Aided Design),计算机辅助设计,指利用计算机及其图形设备帮助设计人员进行设计工作,这个定义同样可以用来近似描述IC公司CAD工程师这个岗位的工作。 早期IC公司的CAD岗位最初...

李艳青1987
今天
35
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部