《JMeter 分布式压测》

《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。

阅读 — · 全站 —
🎸 我的歌单 0 首