ActiveMQ性能测试报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Confidential
(秘密) ActiveMQ性能测试报告
修订历史记录
目录
1.系统概况 (4)
2.测试环境说明 (5)
2.1测试环境系统部署图 (5)
2.2JMS结构图 (6)
2.3软硬件环境 (6)
2.4网络环境 (8)
2.5测试工具 (8)
2.6测试时间和地点 (8)
3.测试人员 (8)
4.测试过程与方法 (9)
4.1第一轮(GUI模式) (9)
4.1.1JMETER相关配置 (9)
4.1.2成功率指标 (12)
4.2第二轮(非GUI+分布式) (12)
4.2.1JMETER相关配置 (12)
4.2.2成功率指标 (13)
5.测试数据分析 (13)
5.1压力测试 (13)
5.2.1.2测试结果 (13)
5.2.2.2测试结论 (14)
1.系统概况
目前集团提出“积极与外部知名电商平台开展业务合作,通过内外部电子渠道的并举,逐步减少对实体代理商的依赖,降低公司营销服务成本”的电子渠道发展战略。

统一支付系统作为对外提供缴费能力的平台,需要大力拓展与天猫、移动商城的支付缴费合作,拓展接入渠道,承担全网在线缴费相关业务支撑工作。

统一支付一期只实现了全网与两家银行直连,对外合作银行少,无法满足业务的覆盖和用户感知,为提升全网集中缴费支付能力和覆盖范围,需要对现有系统扩容,满足未来业务发展。

另外需要在统一支付一期建设的基础上,对系统架构进行扩展和优化,建立实时监控系统接口和应急体系等配套系统建设。

ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。

ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊的地位。

主要测试目标:
ACTIVEMQ在规定时间内所能够接收的最大消息数。

2.测试环境说明
2.1测试环境系统部署图
2.2 JMS结构图
图1 JMS结构模型
2.3 软硬件环境
软件名称
数量
(台)
机器IP地址硬件配置软件配置
ActiveMQ 5.9
1 虚拟机192.168.56.23
CPU:16*
AMD
Opteron(tm)
Processor
6176 @
2294.319MHZ
MEM:4G
Red Hat
Enterprise
Linux Server
release 6.3
(Santiago)
2.4网络环境
本次测试主要在移动172.17内网环境中测试,网络传输速率100MbPS。

2.5测试工具
该测试采用负载测试工具apache-jmeter-2.11, 这是一种可以用于对静态和动态资源(文件、Servlet、Perl脚本、Java对象、数据库和查询、FTP服务器等)的性能进行测试。

它可以用于对服务器、网络或对象模拟繁重的负载来测试它们的强度或分析不同压力类型下的整体性能。

测试人员可以使用它做性能图形分析或者测试服务器/脚本/对象在大并发负载下的表现。

2.6测试时间和地点
测试时间:2014-04-08至2014-04-09(第一轮)
2014-04-11至2014-04-17(第二轮)
测试地点:深圳市福田区国通大厦14楼
3.测试人员
4.测试过程与方法
经过两轮性能测试,根据测试数据分析得出如下结论(详细参见测试数据汇总表):
4.1 第一轮(GUI模式)
4.1.1 JMETER相关配置
i JDK版本:JDK 1.6.0_10-rc2
jndi.properties
ii jndi.properties(..\apache-jmeter-2.11\bin)文件配置见附件:
java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory
java.naming.provider.url=tcp://192.168.56.25:61617
connectionFactoryNames=connectionFactory
queue.MyQueue=example.MyQueue
iii服务器需要给予JMETER的jar包:activemq-all-5.9.0.jar
iv将写好的jndi.properties通过dos命令jar –uf ApacheJMeter.jar jndi.properties 添加进去v启动jmeter配置:见图
图2 增加线程组线程组相关配置说明:
线程数:根据性能要求填写并发用户数
Ram-Up period(in seconds):线程启动周期
循环次数:执行测试脚本的循环次数
图3 增加采样器:JMS POINT TO POINT
JMS POINT TO POINT采样器配置说明:
QueueConnection Factory:connectionFactory
JNDI name Request :MyQueue
Communication style:Request Only
Timeout(milliseconds):2000
Content:this is a test
Lnitial Context Factory:org.apache.activemq.jndi.ActiveMQlnitialContextFactory Provider URL:tcp://192.168.56.25:61617
图4 增加监听器
添加监听器:图形结果、聚合报告
4.1.2 成功率指标
activemq服务器在50秒内能够100%接收4500个线程数
4.2 第二轮(非GUI+分布式)
4.2.1 JMETER相关配置
i代理服务器配置:
在控制器的机器上修改配置文件jmeter.properties中remote_hosts的值,将各代理服务器的IP及端口号1099
jmeter.properties
写入,样式见附件:
….
# Remote Hosts - comma delimited
remote_hosts=192.168.56.23:1099,192.168.56.24:1099…
#remote_hosts=localhost:1099,localhost:2010
….
ii相关服务启动命令
Unix控制器启动服务命令:./jmeter –n –t 测试计划名称.jmx –r
Unix 代理服务启动服务命令:./jmeter-server
DOS 控制器启动服务命令:jmeter.bat –n –t测试计划名称.jmx –r
DOS 代理服务启动服务命令:jmeter-server.bat
4.2.2 成功率指标
通过分布式测试,activemq服务器在1秒内能够100%接收1800个线程数,并可持续接收。

5.测试数据分析
5.1压力测试
5.2.1.2测试结果
测试结果详细数据,详见测试汇总数据表
5.2.1.1 场景一:GUI模式
结论:在GUI模式下,循环次数为1,服务器最多能够成功接收4500请求。

5.2.1.2 场景二:非GUI模式+分布式测试
结论:在非GUI模式下,无限循环模式,服务器在1秒能够接收1800个请求。

5.2.2.2测试结论
测试结论以非GUI模式+分布式测试结论为主,无限循环模式,服务器在1秒能够接收1800(300*6)个请求(即:第1秒内接收到线程1800,第2秒共成功接收到线程数3600,第3秒内共成功接收到线程数5400,…)。

第1秒超过1800个线程则无法成功接收。

相关文档
最新文档