前言
众所周知,做性能测试时,并发用户数有可能会超过2000。而1台压力机,可能产生不了这么多并发用户数。此时,我们需要使用分布式。
分布式: 设置多台压力机,将jmeter分布在这些机器上,共同完成性能测试。
前提
1.压力机的jdk,jre大版本相同,比如都是jdk1.8
2.各个jmeter版本相同
3.各个jmeter的插件版本相同
这里建议的做法是:在本地机器复制出一份jmeter,修改jemter配置信息(只需要修改salve项,如何修改在下文介绍),然后把jmeter打包,上传到所有的分布式机器
配置
1.助攻机器salve的配置(修改jmeter.properties)
- server_port=默认1099,可以自定义修改
- server.rmi.port=改成和server_port的值一样
- server.rmi.ssl.disable=true
2.主控机器master的配置(jmeter.properties)
- remote_hosts=助攻机器的ip端口,多个之间用逗号
- server.rmi.ssl.disable=true
- mode=Standard 在j图形界面中可以看到助攻机器的执行数
执行测试
1.所以的salve助攻机器开启服务,启动命令:jmeter-server -Djava.rmi.server.hostname=机器ip(当前salve机器的ip)
2.主控机器以无图形界面运行,执行命令:jmeter -n -t xxx.jmx -R slave1,slave2... -l xxx.jtl -e -o xxxdict
- xxx.jmx————测试脚本
- slave1,slave2...————salve机器的ip和端口,多台机器之间用逗号分隔
- xxx.jtl————执行结果写入的文件(文件必须为空或不存在)
- xxxdict————输出到一个文件夹(文件夹必须为空或不存在)