不要一味的百度,然后找到图文并茂的软文,一步一个操作来调试自己本地的服务,当然这是属于菜鸟行列的必备操作。
1、Jmeter分布式压测,选择本机作为调度机(master),其它机器做为执行机(agent),都需要启动jmeter-server;
2、执行时,master会把脚本发送到每台agent上执行,agent执行时不需要启动GUI程序。
3、执行完后,agent会把结果回传给master,master会收集所有agent的信息并汇总报告展示。
二、执行机(agent)配置:
1、agent机上需要安装和调度机完全一样的Jmeter版本(在测试jmeter3.1与5.1的异同)
jmeter官网:确保在所有系统上使用相同版本的JMeter和Java。混合版本将无法正常工作。
2、调度机和执行机需再同一网段内(这里有个坑,启动会随机其他网关)系统上的防火墙已关闭或打开了正确的端口。
解决办法:win10系统释放一个wifi信号,笔记本连接即可。
3、启动bin目录下的:jmeter-server.bat;linux启动的是jmeter-server.sh
4、如果分布式配置多台agent,一直重复1~3步就ok了。
三、使用JMeter,完成一台master控制,多台agent执行,即实现多台机器压测master、agent,修改调度机jmeter.properties配置文件内容:
- remote_hosts=127.0.0.1:1099,192.168.1.128:1099,其中127.0.0.1为调度机ip,192.168.1.128为执行机ip,多台agent就在后面追加配置即可
- 释放jmeter-rmi服务端口:#server_port=1099修改为server_port=1099
- 修改配置:#server.rmi.ssl.disable=false修改为server.rmi.ssl.disable=true(master\agent都要设置)
- jmeter安装bin目录下启动调度机jmeter-server.bat(master\agent都要启动jmeter-server.bat)
- jmeter分布式采取rmi通讯,其中会有使用ssl证书,在安装目录/bin下面执行create-rmi-keystore生成文件;
tip:需要设置JMETER_HOME环境变量,不要在path中使用jmeter绝对路径启动jmeter,jmeter-server.bat代码中是使用%JMETER_HOME%环境变量来执行脚本的,除了打开远程主机ip及port之后,
还需要打开server.rmi.ssl.disable=true配置,不然运行jmeter-server会报错rmi服务启动失败
四、测试使用百度为例,创建jmeter脚本,设置线程为1,可以启动master或是agent,或是所有远程机器,执行结果是否回传或是正确。
tips:修改jmeter配置之后,是需要重启jmeter才能生效的。
测试:在master和agent之间,调试尽量选择jmeter版本一致?why?至少配置项可以保持一致;经测试:jmeter3.1和5.1版本的jmeter.properties配置项server.rmi.ssl.disable前者没有。
有一个关于rmi_host的解决方案,原因:RMI服务远程调用时,服务端有多个网卡,启动jmeter-server会随机使用其中一个网卡;会导致master和agent不在同一个网段内;无法通讯导致失败;
解决方法:在jmeter.bat设置sever机器ip:找到set ARGS加上一句:set rmi_host=-Djava.rmi.server.hostname=本机ip;最后空格引用 %rmi_host%,,,然而在同一个网关的问题上卡住了,
关闭防火墙,仍是ping不通,可能是公司网络限制了。
五、Jmeter分布式压测服务部署已经完成。
来源:CSDN
作者:收集明天的囬忆
链接:https://blog.csdn.net/u011466469/article/details/102856869