在工作中进行压测时,可能并发比较大,一台机子的配置(CPU和内存)可能启动不了那么多并发,这时就需要使用多台机子一起来发压力,就要添加压力机进行分布式测试
一、Jmeter分布式执行原理:
1、Jmeter分布式测试时,选择其中一台作为主控机/调度机(master),其它机器做为执行机/压力机/负载机(slave)
2、脚本在master上的jmeter GUI打开,运行时,master会把脚本发送到每台slave上,slave 拿到脚本后就开始执行,slave执行时不需要启动jmeter GUI
3、执行完成后,slave会把结果回传给master,master会收集所有slave的信息并汇总(注:若断言执行成功则不返回请求响应数据及详细断言信息)
二、分布式测试步骤
1、在主控机上编写jmeter脚本(以 获取所有学生信息 接口为例,设置并发为10)
2、在其他的负载机(另外的电脑)上启动jmeter的bin目录下的jmeter-server <前置条件:负载机 上已安装好Jmeter且配置好环境变量>
3、上图中的IP和端口会在master里配置时用到。IP就是负载机的IP,端口默认是1099(端口也可以自定义),后面主控机 的配置文件中会用到
4、修改主控机Jmeter的bin目录下jmeter.properties文件,找到 remot_hosts,然后把负载机的ip及端口号 加入到里面 ,如果添加多 台负载机,则用 , 号隔开
remote_hosts=localhost:1099,10.165.124.57:1099,192.168.0.102:1099
5、检查是否添加成功,Jmetet GUI中,运行-远程启动里面有添加的负载机的IP及端口号,则说明配置成功
二、启动负载机:
1、主控机上,Jmetet GUI中,运行-远程启动 选择配置且已运行 jmeter-server 的负载机IP来启动负载机,服务命令行窗口可见如下输出信息:
2、主控机 上查看执行结果,如下图所示:
ps:如果有参数化文件,那么在负载机相同路径下都拷一份参数文件
参考资料:http://www.cnblogs.com/puresoul/p/4844539.html