引言
今天想和大家聊一下关于jmeter分布式部署中负载机的设置问题。作为一个自动化测试工具,jmeter在性能测试方面有着很强的优势,而分布式部署更是让它的测试效率得到了极大的提升。
但是,在设置负载机时经常会遇到不少问题,这些问题可能会影响我们的测试结果。所以,今天我就来和大家分享一下我的经验,希望对大家有所帮助。
JMeter分布式执行原理如下图所示:
前提:
在调度机上安装JDK(我们这里使用1.8版本的)+Jmeter(3.3)
一、windows下负载机的配置(执行机)
1、在执行机上安装相同版本的JDk和Jmeter(参考调度机的安装)
注意:JDK和Jmeter都要配置环境变量
Jmeter 环境变量的配置:
在系统环境变量中添加:
JMETER_HOME
C:\jmeter\apache-jmeter-3.3\bin
在path系统变量中添加如下配置:
%JMETER_HOME%\bin;
2、在执行机上自定义端口号
1、进入Jmeter的bin目录,找到Jmeter.properties文件,打开该文件修改如下两个配置项,比如修改端口号为:1355(默认端口号为:1099)
server_port=1355
server.rmi.localport=1355
(记得取消注释)
2、启动执行机上的Jmeter-server.bat,如下图,端口号已经修改为:1355
3、在调度机上添加远程的负载机
进入Jmeter的bin目录,找到Jmeter.properties文件,进行如下配置:
4、在调度机上打开,Jmeter,如下图即可启动远程的负载机
5、验证:
启动后如果运行正常,在调度机上可以看到远端负载机的执行结果,如下图:
在执行机上有如下显示:
二、linux下负载机的配置
1、在Linux下安装同调度机相同的JDK和Jmeter版本
JDK环境变量的配置参考如下:http://www.cnblogs.com/beginner-boy/p/7748409.html
Jmeter的环境变量配置,
export PATH=/opt/apache-jmeter-3.3/bin/:$PATH(配置文件位置:/etc/profile)
如下图:
2、在执行机上自定义端口号
1、进入Jmeter的bin目录,找到Jmeter.properties文件,打开该文件修改如下两个配置项,比如修改端口号为:1355(默认端口号为:1099)
server_port=1355
server.rmi.localport=1099
2、启动执行机上的Jmeter-server.bat,命令:./jmeter-server -Djava.rmi.server.hostname=192.168.0.199,如下图,端口号已经修改为:1099、
3、在调度机上添加远程的负载机
进入Jmeter的bin目录,找到Jmeter.properties文件,进行如下配置:
3、在调度机上打开,Jmeter,如下图即可启动远程的负载机
5、验证:
启动后如果运行正常,在调度机上可以看到远端负载机的执行结果,如下图:
在执行机上有如下显示:
三、错误总结
1、Linux下Jmeter-server启动失败,如下图:
解决办法:在启动Jmeter-server的时候加上如下参数,完成命令如下:
./jmeter-server -Djava.rmi.server.hostname=192.168.0.199
2、调度机报如下错误:
解决问题:
在执行机上重新启动Jmeter-server服务(我的测试环境这样是可以解决的,如果你的环境解决不了,请仔细查看执行机上的Jmeter-server.log中的报错信息)