1、背景
以后大家如果是从事专职性能测试,一定要进行分布式压测;
场景:一台控制机和两台执行机,做分布式,要求控制机启动,两台执行机执行,反馈结果。
最贴近工作情况:
控制机:作为办公电脑,工作测试电脑。
执行机:代理机,负载机: 可以直接用服务器的电脑;(服务器的电脑比较干净)肉鸡。
jmeter分布式执行原理:
1.jmeter分布式测试时,选择其中一台作为控制机;其它机器作为代理机;
2.执行时,控制机会把脚本发送到每台代理机上,代理机拿到脚本后就开始执行,代理机执行时不需要启动jmeter界面,可以理解它是通过命令行模式执行的;
3.执行完成后,代理机会把结果回传给控制机,控制机会收集所有代理机的信息并汇总。
代理机配置:
1.代理机需要安装jmeter(并安装jdk)
2.启动代理机上的jmeter-server.bat文件;
3.多台代理及,重复1~3步;
配置:控制机ip和代理及IP,设置完运行即可;
2.安装环境变量
下载JDK,可以在oracle官网下载。
3.配置环境变量
将下载下来的JDk进行安装,添加JAVA_HOME
填写JDK存放路径(根据自己路径进行填写)
添加CLASSPATH
.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
添加path,填写Jmeter存放路径(根据自己路径进行填写)
添加Path,将下面内容加在最后:
%JAVA_HOME%\bin %JAVA_HOME%\jre
4.修改Jmeter配置文件
配置:控制机ip和代理及IP,设置完运行即可;
1.配置代理机的ip和端口;
2.设置控制机:
3.进入Jmeter配置文件中D:/**/apache-jmeter-5.3/bin/jmeter.properties
server.rmi.ssl.disable=true ?????# 将false改成true,去掉前面#号
5.启动分布式服务
1.在slave机(发压机)上启动客户端jmeter-server.bat
jmeter版本比较新,需要先执行create-rmi-keystore.bat,生成rmi_keystore.jks即可;
生成完成后直接启动ok。
如下图看到slave已经启动。
2.控制机启动jmeter;
备注:
1.修改完端口后要重启jmeter;
2.分布式压测设定用户后,每台代理机都是运行的虚拟用户数;如果线程组中的虚拟用户数是500,若有两台负载机,则执行取样器的次数为500*2=1000次;
3.分布式压测,一定要在同一个局域网;
4.查看相关端口是否占用,查看防火墙是否关闭。
作者:欢乐马242