Jmeter分布式测试
基本架构:
工作节点进行jmeter测试,控制节点发送相关的控制命令。

准备工作:
1)设置ssl
从JMeter 4.0开始,RMI的默认传输机制将使用SSL。SSL需要密钥和证书才能工作。
-
调用
$JMETER_HOME/bin/create-rmi-keystore.sh。win环境下有bat后缀的同名文件。 -
这个脚本的流程如下:
$ ./create-rmi-keystore.sh What is your first and last name? [Unknown]: rmi What is the name of your organizational unit? [Unknown]: My unit name What is the name of your organization? [Unknown]: My organisation name What is the name of your City or Locality? [Unknown]: Your City What is the name of your State or Province? [Unknown]: Your State What is the two-letter country code for this unit? [Unknown]: XY Is CN=rmi, OU=My unit name, O=My organisation name, L=Your City, ST=Your State, C=XY correct? [no]: yes -
调用结束后,会bin目录下生成一个:
rmi_keystore.jks文件
-
将这个文件复制到所有节点,工作节点,控制节点。我这里有2个工作节点,1个控制节点,所以总共有3份。
节点之间的通讯,就是通过这个证书进行加密通讯的。

开始测试:
-
将jmeter安装到工作节点上,然后启动它
./jmeter-server -Djava.rmi.server.hostname=xxx.xxx.xxx.xxx -
在控制节点上,配置jmeter.properties
remote_hosts=192.168.0.10,192.168.0.11,192.168.0.12,192.168.0.13,192.168.0.14 -
启动jmeter,添加测试计划,开始测试计划,如下图

最后查看结果,如下图。各个工作节点会把测试结果上报控制节点。

注意事项:
- 如果设置了数据文件,把文件复制到工作节点上对应的路径,这个路径在控制节点中定义了。如下图,箭头指定的路径就是要把文件复制到工作节点的目录。

-
在默认启动的情况下,如果工作节点的1099端口被占用了,修改
jmeter.properties。大概在272行。
对应的控制节点,也要添加上这个端口。# RMI port to be used by the server (must start rmiregistry with same port) server_port=4000 -
如果出现如下报错,是没有设置SSL,请查看准备工作。
Server failed to start: 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; nested exception is: java.io.FileNotFoundException: rmi_keystore.jks (No such file or directory)
Jmeter分布式压力测试平台搭建及问题解决
本文介绍了如何搭建Jmeter分布式测试平台,包括基本架构、准备工作、开始测试的步骤,以及在搭建过程中应注意的事项,如设置SSL、处理端口占用问题和文件路径的一致性。通过Jmeter分布式测试,可以实现多个工作节点同步执行测试计划,并将结果汇总到控制节点。
1936

被折叠的 条评论
为什么被折叠?



