什么是分布式:
Jmeter的集群模式可以让我们将多台机器联合起来一起产生负载,从而弥补单台机器负载生成能力不足的问题。
假设我们的测试计划会产生100个threads,我们使用6台机器进行分布式测试的时候,一共会产生100 * 6 = 600的负载。
约定
-
client: 大脑,控制其他执行机的机器
-
server: 真正执行test plan的机器
注意事项
- 所有机器最好都在同一个局域网下
- 所有机器运行相同版本的jmeter
- 所有机器都使用同一个版本的java
- jmeter版本最好 3.1
- 调度机(master),其它机器做为执行机(slave)。
步骤:
1、调度机配置
添加执行机ip地址,打开jmeter.properties(添加ip后重启jmeter)
打开jmeter-server.bat
关闭防火墙
2、执行机配置
打开jmeter-server.bat
关闭防火墙
3、调度机打开jmeter,执行分布式操作,选择远程启动可以启动一个执行机,选择全部启动,执行机和调度机全部启动
- 远程启动一个执行机(可以看到产生一个HTTP请求)
- 远程全部启动(可以看到产生两个HTTP请求)
拓展:non gui 模式下进行分布式操作
一般情况下我们都是在NonGUI模式下运行jmeter。这样做有两个好处
- 节省系统资源,能够产生更大的负载
- 可以通过命令行参数对测试场景进行更精细的配置
步骤:
1、新建一个文件夹,存放jmeter脚本
2、在当前窗口打开cmd窗口,运行命令
D:jmeter3.1apache-jmeter-3.1injmeter -n -r -t baidu.jmx -l res.jtl -e -o ./report
参数详解
- -n 表示使用non-gui模式
- -t [JMX测试脚本的名称].
- -l [保存JTL 测试结果文件的路径].
- -j [JMeter log文件的路径].
- -r 在JMeter的远程机器上运行测试,远程机器由 property " remote_hosts "指定
- -R [远程机器列表] 在指定的远程机器上运行测试
- -g [CSV 文件路径] 通过csv文件来创建dashboard报告
- -e 运行结束后创建dashboard报告
- -o 在哪个目录创建dashboard报告,该目录必须为空或者不存在
3、查看non gui 模式下分布式测试报告
欢迎关注微信公众号:软件测试汪。软件测试交流群:809111560
转载请注意出处,谢谢合作