需要一台master控制机,多台slave执行机。
master建议使用windows 方便收集日志,查看实时执行情况和报错日志,执行机建议部署在linux中。
1.所有机器上安装 jdk 和 Jmeter 并配置好环境变量,保持版本一致。
执行机/etc/profile 文件中添加java、jmeter的路径
export JAVA_HOME=/usr/local/jdk1.8.0_221
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.
export PATH=$JAVA_HOME/bin:$PATH:.
export JMETER_HOME=/root/tools/jmeter/apache-jmeter-5.1.1/
export PATH=$JMETER_HOME/bin:$PATH:/opt/lampp/bin
2.修改linux的soket最大连接数
vim /etc/security/limits.conf
末尾添加
* soft nofile 65535
* hard nofile 65535
* soft nproc 65535
* hard nproc 65535
3.修改执行机jmeter/bin目录中的配置文件jmeter.properties
编辑jmeter.properties;
找到#server_port=1099
取消注释server_port=1099
取消注释server.rmi.localport=1099
找到#server.rmi.ssl.disable=false
取消注释并将将false改为true server.rmi.ssl.disable=true
保存。
4.修改该jmeter/bin下jmeter-server(每个slave都改)
找到#RMI_HOST_DEF=-Djava.rmi.server.hostname=xxx.xxx.xxx.xxx
取消注释,将hostname改为执行机的ip地址
5.在jmeter压测脚本和参数化文件所在的路径下执行jmeter-server 启动执行机(否则控制机启动时可能找不到参数化文件)
6.修改master控制机Jmeter/bin/jmeter.properties文件
修改【Remote hosts and RMI configuration】部分的【remote_hosts】
默认为remote_hosts=127.0.0.1,及本机执行脚本;
分布式执行,把‘127.0.0.1’修改为执行机器的ip+port;
若有多台执行机器,则依次写到后边,用英文逗号隔开,如‘1.1.1.1:1099,2.2.2.2:1099,...’
找到mode=Standard 取消注释,否则返回的察看结果树中不显示响应结果信息
7.打开master控制机,选择要执行的脚本,运行——远程启动所有
8.注意master控制机jmeter/bin目录下的system.properties文件
末尾如果添加了java.rmi.server.hostname 参数,需要填写正确的ip地址,否则收不到slave机的执行结果