JMeter学习(二)JMeter的分布式部署

为什么要用JMeter分布式部署?

JMeter是JAVA应用,使用JMeter压测的线程数过大时,测试机器的性能、网卡和交换机端口都可能产生瓶颈,例如JAVA内存溢出的错误。
我们可以利用JMeter的分布式部署,通过单个JMeter控制机远程“指挥”多个JMeter压力机进行测试。理解为队长通过语音指挥多个士兵同时执行一个任务。
“预备,冲!”
JMeter学习(二)JMeter的分布式部署

分布式部署前的准备工作有哪些?

一、前提
1.保证控制机和压力机使用的是统一版本的JMeter;
2.保证在同一个局域网(可ping通);
3.防火墙已关闭;
4.保存测试采样数据到压力机(如上篇JMeter学习(一)JMeter的基本使用中,参数化内容的文本文件就是参数采样数据)。

二、控制机配置
1.打开bin目录下的jmeter.properties文件;
JMeter学习(二)JMeter的分布式部署
2.找到remote_hosts,把压力机的IP添加上去,中间用“,”号隔开;如果自定义端口则加上端口号,默认为1099端口号;此处假设压力机IP为:192.168.1.188。
JMeter学习(二)JMeter的分布式部署
如果需要将本机也作为压力机,添加本机IP地址即可。
JMeter学习(二)JMeter的分布式部署
三、压力机配置
1.打开bin目录下的jmeter.properties找到server.port去掉注解,开启1099远程端口,可自定义;
JMeter学习(二)JMeter的分布式部署
2.保存。

如何开始?

一、运行压力机

测试执行时,控制机会把JMeter测试计划发送给每个压力机,压力机接收测试计划后就开始执行测试,压力机不需要启动GUI,只需要打开jmeter-server.bat(Windows)或者./apache-jmeter-5.1.1/bin/jmeter-server &(Linux,&表示后台运行)即可。
Linux下重启压力机:ps -ef|grep jmeter;kill -9 xxxx。
JMeter学习(二)JMeter的分布式部署
二、运行控制机

1.使用单台压力机进行测试
菜单“运行——远程启动”,选择需要的压力机IP;
JMeter学习(二)JMeter的分布式部署
2.使用全部压力机进行测试
菜单“运行——远程启动所有”
JMeter学习(二)JMeter的分布式部署
注意:如果测试计划中有测试采样数据,需要提前保存测试采样数据到压力机,给压力机使用(如上篇JMeter学习(一)JMeter的基本使用中,参数化内容的文本文件就属于测试采样数据)。理解为:队长只会下达冲锋的命令,不会亲自为每个士兵准备枪支弹药。

本文结束。

参考:
https://blog.****.net/jlminghui/article/details/42063231
https://www.cnblogs.com/totoro-cat/p/9856783.html
https://www.cnblogs.com/hyzhou/archive/2011/11/02/2232683.html