imb含义,imb指什么意思
JMeter是性能测试中广泛使用的工具,常用于压力测试。该工具具有丰富的扩展,可以满足不同情况下的性能测试需求。消息队列简称MQ。作为目前主流的中间件,它会被用在很多软件或程序中。测试人员在测试过程中会遇到涉及MQ的系统转换,因此需要使用JMeter收发消息队列数据,完成性能测试。结合实际工作中遇到的项目情况,介绍了JMeter扩展插件Mqmeter的使用方法,完成消息队列的性能测试。
1、引言
消息队列是分布式系统中的重要组成部分,主要解决应用耦合、异步消息、流量裁剪等问题,以实现高性能、高可用、可扩展和最终一致的体系结构。作为大型分布式系统中不可或缺的中间件,目前使用较多的是消息队列,如ActiveMQ、RabbitMQ、ZeroMQ、Kafka、MetaMQ、RocketMQ等。
JMeter作为Apache的开源性能测试工具,支持各种服务类型的测试;同时允许用户进行二次开发和扩展,满足JMeter无法以插件形式提供的定制需求。目前网络上有很多开源插件可供测试人员使用。
本文根据实际测试工作中对消息队列测试的需求,介绍了一种JMeter插件Mqmeter,可以用来在IMB MQ队列上放置和获取消息。它使用IP地址、端口号、用户名和密码通过服务器通道连接到MQ服务器。通过这个插件,测试人员可以使用JMeter完成MQ的压力测试,并通过这个插件实现对MQ的多个并发操作。
2、环境准备
JMeter的运行需要JAVA环境,Mqmeter插件源代码的编译需要Maven环境。本节将阐述Mqmeter插件使用过程中运行环境的部署。
2.1环境架构描述
本文的实际性能测试架构如下:大致的消息流程为:JMeter将消息发送到小型机应用接口,小型机根据程序将消息写入MQ队列,消息消费模块从MQ获取并消费消息。
2.2环境配置
JMeter需要Java环境才能运行,Maven需要编译Java源代码形成jar包,Maven也需要Java环境才能运行。具体的JDK环境安装过程和Java环境变量配置不在这里,有需要可以上网查一下。
2 . 2 . 1重大安装
Maven的下载地址:http://maven.apache.org/download.cgi.详情可以根据安装的JDK版本选择匹配的Maven版本下载。有关详细信息,请参阅以下内容:
不同操作系统对应的下载文件如下:
Maven默认可以本地安装,关键是配置环境变量。摘要:使用Windows操作系统,以Windows下环境变量的配置为例介绍了环境变量的配置。具体步骤如下:
1)右键单击“计算机”并选择“属性”“高级系统设置”“环境变量”,然后创建一个新的系统变量MAVEN_HOME。变量值为c : \ Maven \ Apache-Maven-3 . 6 . 3(即安装目录)。如下所示:
2)编辑系统变量Path并添加变量值:%MAVEN_HOME%\bin .如下所示:
2 . 2 . 2流量计插件安装
JMeter是一个开源的性能测试工具,具有强大的功能和丰富的可扩展接口。现有的JMeter插件在测试MQ消息队列的性能方面体验不佳。本文使用GitHub上一个开源项目形成的JMeter插件来测试MQ消息队列的性能。插件的具体安装步骤如下:
1)Mqmeter源代码下载
GitHub下载链接:http://github.com/JoseLuisSR/mqmeter,下载并解压Mqmeter源代码到本机,并指定路径保存。
2)构建扩展包。
在命令行模式下,进入本地Mqmeter的源代码目录,执行命令:mvn package。
mb指什么意思7.jpg">该命令完成了Mqmeter源代码的编译,单元测试和打包。利用源码构建可执行Jar包,构建过程如下图所示:
构建成功后会在源代码目录下生成一个target文件夹,如下图所示:
该文件夹中包含可执行jar包:mqmeter-2.0.1.jar
3)Mqmeter安装
将上步中生成的mqmeter-2.0.1.jar放置到"$JMeter_HOME/lib/ext"路径下,如图所示,至此Mqmeter的环境准备工作基本完成。
3、压测执行
本节主要说明利用Mqmeter插件执行性能测试过程中JMeter的使用和MQ消息队列的性能监控。
3.1 JMeter使用
Mqmeter的环境准备完成后,就可以在JMeter中使用该Java取样器发送消息报文。步骤如下:
1)进入JMeter安装目录apache-jmeter-5.0\bin,双击jmeter.bat启动JMeter,添加线程组;
2)在线程组中添加取样器,Mqmeter在取样器中名称为"Java Request";
3)根据测试内容对取样器中的必填参数进行填写;
上图中各参数所代表的含义在此稍加解释:
mq_manager:MQ管理器名称,可以通过IBM WAS控制台获取。
mq_queue_rqst:放置消息的队列名称,可以是本地消息队列也可以是远程队列。
mq_queue_rsps:获取消息的队列名称,可以是本地消息队列也可以是远程队列,如果不想收到响应消息请将其置空。
mq_correlate_rsps_msg:将响应消息与请求消息相关联,从MQ队列中获取新的消息。如果不想收到响应消息,将其置空。
mq_wait_interval:设置get消息调用等待合适的消息到达的等待间隔。
mq_hostname:运行MQ Server的主机名或IP地址。
mq_port:MQ服务器侦听器的端口号。
mq_channel:MQ服务器上的服务器通道名称。
mq_user_id:连接到MQ服务器通道的用户ID。
mq_user_password:连接到MQ服务器通道的用户密码。
mq_encoding_message:消息的字符编码标准:对于EBCDIC,请输入Cp1047,ASCII只需输入ASCII。
mq_message:消息内容。
4)从上步中能够看出,为提现Mqmeter插件的强大功能,本文对java request的配置页中的变量都进行了参数化,能够实现向不同MQ队列、不同的消息管理器发送不同的消息内容。具体参数配置过程:添加配置元件(Config Element)>用户自定义参数(User Defined Variable),各个参数具体填写如下:
5)汇总报告、TPS监听器、响应时间、查看结果树配置完成后即可开始测试。
至此性能测试发压机端的发压功能已部署完成。
3.2 MQ性能监控
MQ的性能测试过程中要不断查看MQ队列的深度,一是为了确保相关系统交易链路的可用性,二是定性的查看MQ本身的读写性能。而通过指令对MQ操作过于繁琐,本文将指令脚本化,大大节省了对MQ性能测试过程中的时间,也提高了效率。
本文MQ消息队列安装在IBM AIX小型机上,常用MQ操作有启动消息队列管理器【runmqsc test1】、查看队列深度【dis ql(MSGMB_1)】,同时需要关注队列深度字段【CURDEPTH】随时间的变化,脚本化如下:
实时输出如下:
4、总结
本文介绍了一种利用Mqmeter插件对MQ消息队列进行性能测试,并通过对UNIX指令脚本化实现对MQ的实时监控,详细介绍了Mqmeter从源代码生成JAR包,再到Jmeter使用该插件进行性能测试,希望能对从事MQ性能测试的同业人员有所帮助,同时本文还有诸多不足,诸如由于实际项目需求未介绍利用Mqmeter从消息队列取消息、未介绍量化性能的具体方法等等,后续如有实际项目需求会做进一步探索。
请关注+私信回复:“测试”就可以免费拿到软件测试学习资料和面试题库,快速让自己变强!
其他文章
- 北京地铁收费,北京地铁怎么收费
- 海外公司代理代办注册,代理注册海外公司的优势有什么
- 如何投诉百度企业信用,怎样投诉百度公司
- 公司查询免费,我想知道全国企业名录怎么查免费的而且还有电话人名的
- 货贷逾期过还能办信用卡
- 建行信用贷款怎么贷,建设银行信用贷怎样办理
- 查看平安信用卡申请进度查询,平安信用卡申请进度查询详解
- 建行信用卡取现手续费,建行信用卡取现手续费如何计算?
- 淘宝联名信用卡,与淘宝联名的信用卡有哪些银行
- 年化利率怎么计算,计算年利率的方法是什么?
- 企业信用ic卡怎么办理,请问下建筑企业IC卡申办流程是什么谢谢
- 城乡居民基本养老保险,什么是统一的城乡居民基本养老保险制度
- 个体工商户营业执照怎么注册,个体工商户怎么申请营业执照
- 股票印花税是多少,股票印花税应交多少?
- 021是哪里的电话,021是什么地方的电话区号
- 鲤鱼理财,怎么退出鲤鱼理财
- 个人银行信用贷款,银行个人信用贷款需要什么条件
- aaa资信等级证书的作用,AAA的功能是什么
- 怎么查组织机构代码有效期,组织机构代码是否过期查询
- 百度企业信用怎么认领,我如何加入百度企业信用
- 港股怎么开户,开港股账户怎么操作
- 渤海保险车险,渤海车险怎么样
- 二类账户什么意思,银行卡二类卡怎么回事
- 飞客茶馆信用卡,飞客茶馆推出信用卡服务
- 华夏信用卡年费政策,华夏银行信用卡的年费规定
- 信用卡逾期多久被拉入黑名单,信用卡超过还款期多少天会黑名单
- 查询公司固定电话,固定电话如何查询
- ebs是什么,ebs中文是什么意思
- 陕西营业执照年审查询官网,陕西省营业执照查询网站是什么
- 微粒借贷,微粒贷可借额度是什么如何计算自己还能使用多少额度