在工作中进行压测时,可能并发比较大,一台机子的配置(CPU和内存)可能启动不了那么多并发,这时就需要使用多台机子一起来发压力,就要添加压力机进行分布式测试

一、Jmeter分布式执行原理:

  1、Jmeter分布式测试时,选择其中一台作为主控机/调度机(master),其它机器做为执行机/压力机/负载机(slave)

  2、脚本在master上的jmeter GUI打开,运行时,master会把脚本发送到每台slave上,slave 拿到脚本后就开始执行,slave执行时不需要启动jmeter GUI

(注:若断言执行成功则不返回请求响应数据及详细断言信息)

二、分布式测试步骤

       1、在主控机上编写jmeter脚本(以 获取所有学生信息 接口为例,设置并发为10)

jmeter如何做负载均衡_jmeter如何做负载均衡

<前置条件:负载机 上已安装好Jmeter且配置好环境变量>

          (jmeter-server.bat  -->  windows) (jmeter-server.sh  --> mac、linux),启动成功如下图:

         

jmeter如何做负载均衡_IP_02

  3、上图中的IP和端口会在master里配置时用到。IP就是负载机的IP,端口默认是1099(端口也可以自定义),后面主控机 的配置文件中会用到

      4、修改主控机Jmeter的bin目录下jmeter.properties文件,找到 remot_hosts,然后把负载机的ip及端口号 加入到里面 ,如果添加多 台负载机,则用 , 号隔开

192.168.0.102:1099

             192.168.0.102 负载机IP 端口默认是1099

       

jmeter如何做负载均衡_参考资料_03

 

  5、检查是否添加成功,Jmetet GUI中,运行-远程启动里面有添加的负载机的IP及端口号,则说明配置成功

jmeter如何做负载均衡_IP_04

二、启动负载机:

  1、主控机上,Jmetet GUI中,运行-远程启动 选择配置且已运行 jmeter-server 的负载机IP来启动负载机,服务命令行窗口可见如下输出信息:

jmeter如何做负载均衡_端口号_05

  2、主控机 上查看执行结果,如下图所示:

jmeter如何做负载均衡_参考资料_06

 

jmeter如何做负载均衡_端口号_07

     ps:如果有参数化文件,那么在负载机相同路径下都拷一份参数文件