jmeter分布式测试
Posted testway
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jmeter分布式测试相关的知识,希望对你有一定的参考价值。
10个多月前使用jmeter 3.0 做分布式测试博客,由于jmeter版本更新不再适用,现在以此为题,重新写一篇博客,介绍jmeter 新版本5.1.1分布式方法。
jmeter 分布式性能测试需要有个前提:
前提:
1、关闭防火墙
2、所有客户端在同一个子网里面
3、服务端也和客户端在同一个子网里面
4、 jmeter 能访问服务端
5、 jmeter 版本要一致,版本不一致可能导致运行不正常
6、需要所有的jmeter 都要设置好ssl for rmi(与之前版本不一样,自动jmeter 4.0 以后,分布式通讯是通过ssl安全协议,这种协议是通过加密传输并需要证书解密)
步骤:
1、准备3台在同一个局域网内的机器,一台作为master主控机,两台作为slave 执行机
master机器ip:192.168.1.104
slave1 windows机器ip:192.168.1.107
slave2 centos ip:192.168.1.101
2、在3台机器上安装同样版本的jmeter (5.1.1)和 java
3、关闭slave机器的防火墙,从master 机器能ping通到slave机器上
4、在master机器上jmeter bin目录下命令行下执行命令: create-rmi-keystore.bat,执行命令过程中会询问加密因子的填写,可以随意填写。再确认信息的时候要输入“y”。
最后在:输入 <rmi> 的密钥口令,直接回车
第4步完成,会在bin目录下生成rmi_keystore.jks 文件,需要把这个文件拷贝到各个slave机上的jmeter 的bin目录下
D:\\tools\\apache-jmeter-5.1.1\\bin>create-rmi-keystore.bat 您的名字与姓氏是什么? [Unknown]: aa 您的组织单位名称是什么? [Unknown]: aa 您的组织名称是什么? [Unknown]: aa 您所在的城市或区域名称是什么? [Unknown]: aa 您所在的省/市/自治区名称是什么? [Unknown]: aa 该单位的双字母国家/地区代码是什么? [Unknown]: aa CN=aa, OU=aa, O=aa, L=aa, ST=aa, C=aa是否正确? [否]: y 输入 <rmi> 的密钥口令 (如果和密钥库口令相同, 按回车): Warning: JKS 密钥库使用专用格式。建议使用 "keytool -importkeystore -srckeystore rmi_keystore.jks -destkeystore rmi_keystore.jks -deststoretype pkcs12" 迁移到行业标准格式 PKCS12。 "Copy the generated rmi_keystore.jks to jmeter/bin folder or reference it in property ‘server.rmi.ssl.keystore.file‘"
5、slave1 机器进入jmeter\\bin 目录,点击 jmeter-server.bat,启动jmeter remote 服务
6、slave2 机器进入jmeter\\bin目录,执行如下命令启动服务:
./jmeter-server -D java.rmi.server.hostname=192.168.1.101
7、master 主控机打开jmeter\\bin\\jmeter.properties 文件, 设置 remote_hosts
remote_hosts=192.168.1.101:1099,192.168.1.107:1099
remote_hosts是设置jmeter slave机器ip值和端口,默认端口1099 也可以配置其他端口,(多个用逗 号隔开)
8、master 主控机打开jmeter\\bin\\system.properties 文件, 设置 java.rmi.server.hostname
java.rmi.server.hostname=192.168.1.104
java.rmi.server.hostname 是设置主控机器的ip
9、设置好脚本,执行命令:jmeter -n -t case.jmx -l result -R 192.168.1.101:1099,192.168.1.107:1099
(多个用逗号隔开)
执行完成,主控机器显示配置了2台远程服务,2台slave 都显示有信息,说明调用远程服务成功
Starting the test on host 192.168.1.101:1099 @ Fri May 03 00:30:19 PDT 2019 (1556868619022)
Finished the test on host 192.168.1.101:1099 @ Fri May 03 00:30:21 PDT 2019 (1556868621256)
Starting the test on host 192.168.1.101:1099 @ Fri May 03 00:30:19 PDT 2019 (1556868619022)
Finished the test on host 192.168.1.101:1099 @ Fri May 03 00:30:21 PDT 2019 (1556868621256)
欢迎关注技术微信公众号:
以上是关于jmeter分布式测试的主要内容,如果未能解决你的问题,请参考以下文章
JMeter:逻辑控制器_模块控制器(Module Controller)
性能测试 性能测试实战Jmeter性能测试平台开发,性能测试平台架构解析 ,性能测试平台搭建 分布式性能压测平台 Jmeter分布式性能测试管理平台 性能测试平台示例案例 《完结篇》