jmeter分布式压测(linux)

1. 环境准备

  1.    首先准备几台机器,假如现在有两台服务器192.168.3.155,192.168.3.156
  2.    上传jmeter版本,并进行安装。安装比较简单这里不再赘述。(必须要保证每个服务器的版本一致)
  3.    上传测试所需要用到的插件以及测试脚本中所用到的配置文件。 (这里如果没有统一全,那么可能会执行失败.)
  4.    上传需要测试的脚本。(这个只需要上传到master下就可以了,在调用执行的时候,master会将脚本复制到远程服务来进行执行)

2.配置修改

   slave的配置

     1.  在slave中需要我们通过启动jmeter-server来提供一个服务,来让master进行调用。

     2.  启动jmeter-server需要先进行配置。在jmeter的bin目录下有一个jmeter.properties文件。

         

      3. 在文件中 找到server.port=1099.默认是注释的,打开注释修改为自己希望的ip。

         

         这里我使用的是默认端口。

      4. 执行命令进行启动slave服务,

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

       注:需要加-Djava.rmi.server.hostname,否则可能出现下面的错误。

An error occurred: Cannot start. localhost.localdomain is a loopback address.

     启动成功

 

Master服务配置

1. 配置jmeter.properties,在文件中找到remote.hosts属性.

3.进行测试

  

1. 启动脚本,增加-r参数会读取配置文件中的ip,来启动远程服务。

jmeter -n -t test.jmx -r -l test.jtl

2. 当然还可以通过 -R 参数来覆盖jmeter.properties中的remote.hosts

jmeter -n -t test.jmx  -R 192.168.3.156:1099 -l test.jtl

  效果都是一样的。如果这里出现卡顿,可能是插件配置文件等,没有统一。修复好以后,需要停掉slave的服务在进行启动,否则可能出现下列错误

JMeter remote test fails with error message “Engine is busy - please try later”

正常执行后等待slave执行结果

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章