ActiveMQ安装优化
ActiveMQ性能測试
http://m.blog.csdn.net/blog/brushli/41750615
1、下载ActiveMQ
官网:http://activemq.apache.org/
2、安装ActiveMQ
解压压缩包就可以直接使用
3、改动端口号、账号password
默认连接端口为61616,按例如以下我把它改动为61617:
vi conf/activemq.xml
<transportConnectors>
<!-- DOS protection, limit concurrent connections to 1000 and frame size to 100MB -->
<transportConnector name="openwire" uri="tcp://0.0.0.0:61617?
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>
默认web console端口为8161,按例如以下我把它改动为8162:
vi conf/jetty.xml
<bean id="jettyPort" class="org.apache.activemq.web.WebConsolePort" init-method="start">
<!-- the default port number for the web console -->
<property name="host" value="0.0.0.0"/>
<property name="port" value="8162"/>
</bean>
默认账号password为admin/admin。按例如以下我把它改动为admin/admin123456
vi conf/users.properties
admin=admin123456
4、调整配置
1) 改动持久化kahaDB的配置。例如以下:
<persistenceAdapter>
<kahaDB directory="${activemq.data}/kahadb" indexCacheSize="100000" indexWriteBatchSize="1000" enableJournalDiskSyncs="false" journalMaxFileLength="128mb" concurrentStoreAndDispatchQueues="true" concurrentStoreAndDispatchTopics="true"/>
</persistenceAdapter>
当中參数,大家网上查一下kahaDB的配置了解下便可,这样配置满足一般应用了。我測试速度在2500 - 4000多的样子。
只是详细还要看机器硬件。
这里要说明的是,按我測试5.13.0版本号,假设kahaDB不做不论什么改动。在开启持久化的情况下。生产者(写入)速度仅仅有三十多每秒的样子。
(不知道其它版本号默认是否这样)
2) 对一个broker的阈值是通过在activemq.xml中的配置中的部分设定的。
这个特征同意producer仍然可以在consumer因为耗尽内存或转向producer flow control而变慢时发送消息,memoryUsage 默认值为20m,调整为128m
<systemUsage>
<systemUsage>
<memoryUsage>
<memoryUsage limit="512 mb"/>
</memoryUsage>
<storeUsage>
<storeUsage limit="1 gb" name="foo"/>
</storeUsage>
<tempUsage>
<tempUsage limit="100 mb"/>
</tempUsage>
</systemUsage>
</systemUsage>
5、启动和停止
启动:ActiveMQHOME/bin/activemqstart停止:{ActiveMQ_HOME}/bin/activemq stop
6、顺便提几点关于使用Spring集成JMS的
1) 三种消息监听器可以參考帖子 http://haohaoxuexi.iteye.com/blog/1893676
2) 消息的重投策略:
使用事务,而且调用了rollback()方法;
一个事务session。关闭之间调用了commit。
session中使用CLIENT_ACKNOWLEDGE签收模式,而且调用了Session.recover()方法。
3) 假设使用JTA分布式事务,须要改动 jms:listener-container 的 acknowledge=”transacted”
4) 指定异步/同步发送
jms.alwaysSyncSend=false&jms.useAsyncSend=true
当alwaysSyncSend=false时。对于“NON_PERSISTENT”(非持久化)消息将使用“异步发送”。对于非持久化消息,使用异步发送是最佳的选择,我们通常使用这样的手段调优。
当alwaysSyncSend=false时,假设指定了useAsyncSend=true。则“PERSISTENT”类型的消息,也将使用异步发送。但broker仍无法担保消息一定被持久化成功。
当alwaysSyncSend=false时,不管怎样,在事务中的消息,都将使用异步发送。
ActiveMQ安装优化的更多相关文章
- activeMQ 安装及启动异常处理
一.环境: [root@centos_6 ~]# cat /etc/system-release CentOS release 6.5 (Final) [root@centos_6 ~]# uname ...
- Java JMS 程序基础 与 ActiveMQ 安装(一)
一 ActiveMQ安装 从Apache官网上下载 ActivieMQ的安装包 apache-activemq-5.9.1-bin.tar.gz, 并拷贝到linux的安装目录解压 # tar -zx ...
- ActiveMQ安装配置及使用 转发 https://www.cnblogs.com/hushaojun/p/6016709.html
ActiveMQ安装配置及使用 ActiveMQ介绍 ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线.ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JM ...
- ActiveMQ安装配置及使用
ActiveMQ介绍 ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线.ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管J ...
- ActiveMQ安装与入门程序 & JMS的消息结构
1.Activemq安装 直接到官网下载:记住apache的官网是域名反过来,比如我们找activemq就是activemq.apache.org. 最新版本要求最低的JDK是8,所以最好在电脑装多个 ...
- CentOS6 x86_64最小化安装优化脚本
#!/bin/bash #centos6. x86_64系统最小化安装优化脚本 #系统基础优化,建议以root运行 if [ $USER != "root" ];then echo ...
- ActiveMQ学习笔记(22)----ActiveMQ的优化和使用建议
1. 什么时候使用ActiveMQ 1. 异步通信 2. 一对多通信 3. 做个系统的集成,同构,异构 4. 作为RPC的替代 5. 多个应用相互解耦 6. 作为事件驱动架构的幕后支撑 7. 为了提高 ...
- Windows下ActiveMq安装与使用
一.activeMq安装与启动 Apache Active MQ的官网 :http://activemq.apache.org/ 下载地址: http://activemq.apache.org/ac ...
- linux下activemq安装与配置activemq-5.15.2
linux下activemq安装与配置 前提 配置好jdk环境 一.下载:apache-activemq-5.15.2-bin.tar.gz https://archive.apache.org/ ...
随机推荐
- java中的Annotation
java中包含5个基本的Annotation: @Override @Deprecated @SuppressWarnings @SafeVarargs @FunctionalInterface …… ...
- 算法笔记_090:蓝桥杯练习 7-1用宏求球的体积(Java)
目录 1 问题描述 2 解决方案 1 问题描述 问题描述 使用宏实现计算球体体积的功能.用户输入半径,系统输出体积.不能使用函数,pi=3.1415926,结果精确到小数点后五位. 样例输入 一个 ...
- case when then 中的条件里面加上 and or 的处理方式
错误的方式: end 正确1: end 正确2,去掉括号: end
- 基于RxJava2+Retrofit2简单易用的网络请求实现
代码地址如下:http://www.demodashi.com/demo/13473.html 简介 基于RxJava2+Retrofit2实现简单易用的网络请求,结合android平台特性的网络封装 ...
- Ansible远程执行脚本示例
首先创建一个shell脚本 cat /tmp/df.sh #!/bin/bash df -h|grep vda|awk '{print $5}' 然后把该脚本分发到各个机器上 ansible comp ...
- CVTE电话面试
Cvte电话面试 1. SVM和逻辑回归的相同不同点 2. 特征值和奇异值的区别 3. 如何找到全局最优解,梯度下降和牛顿法区别 4. 防止过拟合的方法 5. 随机森林和ADBOOST方差和偏置 6. ...
- java文档 第十一章 其他考量-b
Finalization 和弱引用.软引用.虚引用 Finalization and Weak, Soft, and Phantom References Some applications inte ...
- java基础讲解08-----类和对象
1.什么是面向对象? 面向对象设计的实质 就是对现实世界的对象进行建模操作. 现实的生活中,随处可见的一种事物就是对象,对象是事物存在的实体,通常我们将会对对象划分为两个部分,静态部分和动态部分.比如 ...
- 区别原生chrome 和以chrome为内核的360浏览器
function isChrome360() { if( navigator.userAgent.toLowerCase().indexOf('chrome') > -1 ) { var des ...
- Android studio 使用心得(六)—android studio 如何加载.so文件
之前一直没怎么注意,以为.so文件android为像eclipse一样直接加载,但是直到昨天我在android studio上调试公司项目推送消息的时候,才发现,.so文件原来没有加载成功. 可能之前 ...