乐趣区

关于centos:JMeter分布式环境搭建

JMeter 分布式环境搭建

  • 控制机(controller):负责测试脚本的散发、启动、进行、收集负载机的测试后果。
  • 负载机(worker nodes):负责接管控制机的指令,向被测服务器发送并发申请。

在理论运行过程中,控制器运行 bin/jmeter.sh,执行器运行bin/jmeter-server.sh。(windows 零碎别离执行jmeter.batjmeter-server.sh

环境

  • 所有主机(控制机和负载机)都在同一网段。
  • 所有主机开启工夫同步。
  • 所有主机上应用雷同版本的 JMeterJDK,混合版本可能无奈失常工作。
  • 所有负载机能失常拜访被测利用。

配置

本例中,负载机应用Centos7,控制机应用Windows 10

配置环境变量

vim /etc/profile

export JMETER_HOME=/usr/apache-jmeter-5.4.1
export CLASSPATH=${JMETER_HOME}/lib/ext/ApacheJMeter_core.jar:${JMETER_HOME}/lib/jorphan.jar:${JMETER_HOME}/lib/logkit-2.0.jar:${CLASSPATH}
export PATH=${JMETER_HOME}/bin/:${PATH}

source /etc/prifle

RMISSL 设置

如果配置 SSL,须要配置相干证书,本例中间接敞开SSL 模式。
配置范畴:所有主机

vim bin/user.properties

# 敞开 rmi 的 ssl
server.rmi.ssl.disable=true

指定 RMI 端口

默认 RMI 会随机凋谢一个端口,如果有防火墙就没法制订规定。
配置范畴:负载机

vim bin/jmeter.properties

server.rmi.localport=2099
firewall-cmd --zone=public --add-port=1099/tcp --permanent
firewall-cmd --zone=public --add-port=2099/tcp --permanent
firewall-cmd --reload

配置负载机

指定负载机的 IP

vim bin/jmeter-server

RMI_HOST_DEF=-Djava.rmi.server.hostname= 以后负载机的 IP

配置控制机

将负载机的 IP 和端口写入控制机的配置文件,多个用逗号分隔。

vim bin/jmeter.properties

remote_hosts=192.168.1.20:1099,192.168.1.21:1099,192.168.1.22:1099

运行

  1. 负载机启动jmeter-server
  2. 控制机启动jmeter.bat,配置工作后,在图形界面上顺次点击Run -- Remote Start All
  • 负载机日志:bin/jmeter-server.log
  • 控制机日志:bin/jmeter.log

注意事项

  1. 分布式测试总样本数 = 线程数 x 循环次数 x 负载机数量
  2. 控制机如果有多个网卡(包含虚构网卡),倡议 只保留与负载机同网段的网卡
  3. 当脚本有依赖文件时,必须要拷贝到负载机雷同目录下。
  4. 在 2 -3GHz 的 CPU 上运行的单个 JMeter 客户端能够解决 1000-2000 个线程,具体取决于测试的类型。

参考资料

  • https://jmeter.apache.org/use…
  • https://jmeter.apache.org/use…
  • https://blog.csdn.net/qq_3530…
  • https://www.cnblogs.com/mengy…
退出移动版