jmeter分布式部署

1.准备工作

这个简短的教程解释了如何使用多个系统来执行压力测试。在我们开始之前,有几件事需要检查。

  • 系统上的防火墙已关闭或打开了正确的端口。
  • 所有客户端都在同一个子网上。
  • 如果使用192.xxx或10.xxx IP 地址,则服务器位于同一子网中。如果服务器不使用192.xx或10.xx IP 地址,应该没有任何问题。
  • 确保 JMeter 可以访问服务器。
  • 确保在所有系统上使用相同版本的 JMeter 和 Java。混合版本将无法正常工作。
  • 您已为 RMI 设置 SSL或禁用它。

确定系统准备就绪后,就可以设置远程测试了。

本教程假设您已经在所有系统上安装了 JMeter。JMeter 的工作方式是一个控制器节点在多个工作节点上启动测试。

在本教程中,我们仅使用 GUI 模式进行演示。在现实生活中,您应该使用 CLI 模式(非 GUI)来开始负载测试

一个控制器节点和多个工作节点

2.术语

在我们深入了解分步说明之前,最好先定义术语并确保定义清晰。

控制器节点

运行 JMeter GUI 的系统,它控制测试

工作节点

运行jmeter-server的系统,它从 GUI 接收命令并将请求发送到目标系统

目标

我们计划进行压力测试的网络服务器

系统类别

3.部署

部署Worker Nodes

1.修改Worker 节点配置,去到jmeter/bin目录禁用rmi.ssl

编辑配置 vim /opt/services/apache-jmeter-5.3/bin/jmeter.properties

禁用rmi.ssl

server.rmi.ssl.disable=true

2.将启动脚本放root目录下方便启动

注意点:jmeter-server的地址需要自己改哦

ps -ef | grep jmeter| awk '{print $2}' | xargs kill -9

ip addr | awk '/^[0-9]+: / {}; /inet.*global/ {print gensub(/(.*)\/(.*)/, "\\1", "g", $2)}'| grep 10

echo $addr

/opt/services/apache-jmeter-5.3/bin/jmeter-server -Djava.rmi.server.hostname=$addr &

3.执行脚本

执行脚本启动Worker节点

./start.sh

打印出下面的日志说明启动成功

Using local port: 1029 Created remote object: UnicastServerRef2 [liveRef: [endpoint:[xx.xx.xx.xx:1029](local),objID:[-453fd37a:1813387d928:-7fff, 8505957587157488328]]]

部署Controller Node

1.修改Controller节点配置

去到jmeter/bin目录下修改jmeter.properties,禁用ssl并配置工作节点ip

禁用rmi.ssl

server.rmi.ssl.disable=true

配置Worker节点ip

remote_hosts=127.0.0.1,Worker节点ip

2.远程启动


版权声明:本文为weixin_43120944原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。