【Jmeter】分布式并发测试

一、前提:

  1、最近在做一下压测,但是单台服务器的CPU,内存可能不够支撑压测的项目,这时候,我们可以使用Jmeter分布式压测。

  2、本次使用的环境:

  • 1台服务器做master(调度器)
  • 5台服务器做slave (执行器)

二、原理

  1、Jmeter分布式测试时,选择其中一台作为调度机(master),其它机器做为执行机(slave)可以理解成压力机。

  2、执行时,master会把脚本发送到每台slave上,slave 拿到脚本后就开始执行,slave执行时不需要启动GUI,启动jmeter-server.bat(windows)

    或者sh jmeter-server.sh

  

 

 三、步骤

3.1前提:

  1. 保证几台服务器用的统一版本的jmeter
  2. 保证在同一个局域网(可以ping同)
  3. 报错或者,conncetion timed(关闭防火墙)

3.2 slave (压力机)配置,这边以服务器windows

  1. 打开jmeter->bin->jmeter.properties 找到server.port 去掉注解,开启1099远程端口,端口号可以自己配置的,默认1099

   2.保存jmeter.properties

   3.启动jmeter-server.bat (windows)下面

   4.有几台压力机,就同样配置一下,启动server即可

3.3 控制机器的配置

  1. 打开jmeter->bin->jmeter.properties 找到remote_hosts,吧压机机的ip加上去,中间用,隔开,如果自定义端口,加上端口号,默认是1099端口号;

   2.保存,并且启动jmeter.bat(也可以命令行执行,减少CPU,内存消耗)

 

四、压测

  1. 准备好压测脚本,我这边场景是同时并发10000个线程,测试nginx的承受能力;
  2. 运行-远程全部启动-同时并发5台slave机器,右上角有并发数,绿色的时候是启动的状态;

 

五、补充

  1. 第一次搞得时候,很多不是同一网段,出现一些常出现的错误
  2. 例如出现以下以下错误的时候,首先要检查是否在同一个网段里面,jmeter是否是同一个版本,然后防火墙是否关闭了,最后端口号是否正确
  3. 分布式并发的时候之前用5.0的版本总是报错,个人觉得可能是版本号太高的原因,适当的降低下jmeter版本号

 

 

  

 

posted @ 2018-10-26 15:51  WANG-X  阅读(2555)  评论(0编辑  收藏  举报