jmeter分布式部署

参考资料

https://www.cnblogs.com/beginner-boy/p/7836276.html

1.Jmeter分布式执行原理:

  1、Jmeter分布式测试时,选择其中一台作为控制机(Controller),其它机器做为代理机(Agent)。

  2、执行时,Controller会把脚本发送到每台Agent上,Agent 拿到脚本后开始执行,Agent执行时不需要启动Jmeter,只需要把jmeter-server.bat文件打开,它应该是通过命令行模式来执行的。

  3、执行后,Agent会把结果回传给Controller,Controller会收集所有Agent的信息并汇总。

 

 

本文分三个部分:

1、windows下负载机的配置

2、Linux下负载机的配置

3、遇到的问题

********************************************************************************

JMeter分布式执行原理如下图所示:

前提:

在调度机上安装JDK(我们这里使用1.8版本的)+Jmeter(3.3)

参考文档:http://www.cnblogs.com/beginner-boy/p/7707255.html

一、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)

如下图:

验证:Jmeter -v

 

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文件,进行如下配置:

 

 4、在调度机上打开,Jmeter,如下图即可启动远程的负载机

5、验证:

 启动后如果运行正常,在调度机上可以看到远端负载机的执行结果,如下图:

 

 在执行机上有如下显示:

 

三、错误总结

1、Linux下Jmeter-server启动失败,如下图:

 

 解决办法:在启动Jmeter-server的时候加上如下参数,完成命令如下:

 ./jmeter-server -Djava.rmi.server.hostname=192.168.0.199

2、调度机报如下错误:

 

  解决办法:

  将执行机上的端口设置为固定端口即可(在之前的部署中已经说明如何自定义端口了,参考上文)

3、启动Jmeter报错

 

 解决问题:

 在执行机上重新启动Jmeter-server服务(我的测试环境这样是可以解决的,如果你的环境解决不了,请仔细查看执行机上的Jmeter-server.log中的报错信息)

 

说明:

  1、调度机(master)和执行机(slave)最好分开,由于master需要发送信息给slave并且会接收slave回传回来的测试数据,所以mater自身会有消耗,所以建议单独用一台机器作为mater。

  2、参数文件:如果使用csv进行参数化,那么需要把参数文件在每台slave上拷一份且路径需要设置成一样的。

  3、每台机器上安装的Jmeter版本和插件最好都一致,否则会出一些意外的问题。

 

posted on 2018-06-20 15:41  zz测试笔记  阅读(253)  评论(0编辑  收藏  举报