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/ ...
随机推荐
- iOS 证书管理.p12文件不能导出
iOS证书不能导出p12文件: 首先要确认证书是从你这个电脑上制作生成的! 钥匙串-->我的证书--->右键,就可以导出了!
- php求斐波那契数列
<?php function feibonaqi(){ //参数$num表示为第$num个数之前的所有斐波那契数列 $arr = array(); //定义一个空变量用来存放斐波那契数列的数组 ...
- [Mac A]为什么国外程序员爱用 Mac?
from http://www.vpsee.com/2009/06/why-programmers-love-mac/ Mac 在国外很受欢迎,尤其是在 设计/web开发/IT 人员圈子里.普通用户喜 ...
- maven modules
所有用Maven管理的真实的项目都应该是分模块的,每个模块都对应着一个pom.xml.它们之间通过继承和聚合(也称作多模块,multi-module)相互关联.那么,为什么要这么做呢?我们明明在开发一 ...
- Spring Boot(一)启动方式
1.系统自动生成 SpringApplication.run(XX.class, args); 2.创建SpringApplication对象 SpringApplication app = new ...
- 使用scrapy进行12306车票查询
概述 通过12306的查询API进行查询某日火车票, 结果保存在csv文件中. 详细 代码下载:http://www.demodashi.com/demo/12623.html 一.环境搭建 1. 安 ...
- unity3d为对象添加脚本的两种方法
首先添加一个物体,然后新建一个C#脚本.接下去有两种方法把C#脚本与物体绑定. 1.在类声明上方添加如下代码: [AddComponentMenu("a/b")] 这句话表示在该物 ...
- 两种方法一句代码隐藏Activity的标题栏
把Activity的标题栏隐藏有两种方法.一种是在在Activity里面设置javacode.还有一种是在项目的清单文件AndroidManifest.xml中设置模版样式. 一.在Activity中 ...
- C# 中字符串string和字节数组byte[]的转换
string转byte[]: byte[] byteArray = System.Text.Encoding.Default.GetBytes ( str ); byte[]转string: stri ...
- GitHub的Fork 是什么意思
现在有这样一种情形: 有一个叫做Joe的程序猿写了一个游戏程序,而你可能要去改进它.并且Joe将他的代码放在了GitHub仓库上. 下面是你要做的事情 fork并且更新GitHub仓库的图表演示 Fo ...