文档章节

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

© 著作权归作者所有

共有 人打赏支持
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
Win7环境下安装ActiveMQ

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

纠结名字
2015/08/09
0
0
ActiveMQ安装配置和使用简例

本文作者:Zhang Phil 原文链接:http://blog.csdn.net/zhangphil/article/details/48173665 ActiveMQ安装配置和使用简例 ActiveMQ是一套JMS(Java Message Service)开源消息服务实现的组件...

开开心心过
2015/09/02
0
0
Linux 安装ActiveMQ(使用Mac远程访问)

阅读本文需要安装JDK 一 ActiveMQ简介 activemq是用java语言编写的一款开源消息总线 activemq是apache出品 activemq消息的传递有两种类型 一种是点对点(即一个生产者和一个消费者一一对应) 另...

梦三
07/15
0
0
ActiveMQ 5.15.x Release安装和配置--Linux篇

阅读目录: 1. 关闭防火墙和Selinux 2. 下载并安装ActiveMQ 5.15.x Release版本 3. 启动并验证 4.配置ActiveMQ 5.15.x Release自启动 5.注意事项以及说明 1. 关闭防火墙和Selinux Linux的防火...

loubobooo
2017/11/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

windows下Git BASH安装

1.从git官网下载一个git安装包,官网下载地址https://www.git-scm.com/downloads 2.双击安装程序,进入欢迎界面点击【Next >】...》finish 3.空白处点击鼠标右键选择Git Bash Here或点击开始...

15834278076
28分钟前
2
0
strpos

一、前方有坑 php某些自带函数,如果使用不当,也会坑得你人仰马翻。比如:strpos() 先了解一下strpos()函数是干啥的。 strpos — 查找字符串首次出现的位置 用法: int strpos ( string $hay...

dragon_tech
31分钟前
1
0
Spark DAG概述

一、 DAG定义 DAG每个节点代表啥?代表的一个RDD 这里再次复习RDD的5大特性 一组分片(Partition),即数据集的基本组成单位。对于RDD来说,每个分片都会被一个计算任务处理,并决定并行计算...

张泽立
32分钟前
0
0
防抖和节流

浏览器的一些事件,如:resize,scroll,keydown,keyup,keypress,mousemove等。这些事件触发频率太过频繁,绑定在这些事件上的回调函数会不停的被调用。会加重浏览器的负担,导致用户体验...

tianyawhl
42分钟前
1
0
mysql出现Waiting for table metadata lock的解决方法

查询某一个表时,一直没有显示数据,于是就show processlist; 发现有表已经被锁了,关掉了之前的查询语句可以看到 这时候需要查看未提交的事务 select trx_state, trx_started, trx_mysql_t...

bobway
42分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部