《JMeter 分布式压测》
1 简介
单台压测机会受限于自身的连接数、CPU 与网络,JMeter 支持一个 Master(controller)控制多台 Slave(server node)分摊并发,从而突破单机瓶颈。
2 启动 Server 节点
在每台压测从机上执行:
cd apache-jmeter-5.1.1/bin/
jmeter-server
3 Master 控制多台 Server
在 JMeter 的 GUI 中:运行 -> 远程启动/远程全部启动,选择从机执行分布式压测;也可以结合命令行直接远程执行:
# 通过 -R 指定从机地址
jmeter -n -t test.jmx -R 192.168.1.10,192.168.1.11 -l results.jtl
4 常见问题
4.1 找不到 rmi_keystore.jks
jmeter-server 启动时报错:
java.rmi.server.ExportException: Listen failed on port: 0; nested exception is:
java.io.FileNotFoundException: rmi_keystore.jks (No such file or directory)
An error occurred: Listen failed on port: 0; ...
原因:Client 与 Server 之间的 RMI 通信基于 SSL,首次运行需要生成密钥库。
方案一:生成密钥
在 JMeter 的 bin/ 目录执行:
# 需要使用 JRE 自带的 keytool,先把其目录加入 PATH
export PATH=$PATH:/usr/lib/jvm/java-8/bin
./create-rmi-keystore.sh
方案二:临时关闭 RMI SSL
如果是内网可信环境,也可修改 bin/jmeter.properties 关闭 RMI SSL:
server.rmi.ssl.disable=true
生产环境建议保留 SSL 并正确加载
rmi_keystore.jks。
阅读 —
·
全站 —