25. Apache JMeter 分布式测试循序渐进
https://jmeter.apache.org/usermanual/jmeter_distributed_testing_step_by_step.html
这个简短的教程解释了如何使用多个系统来执行压力测试。在我们开始之前,有几件事需要检查。
系统上的防火墙已关闭或打开了正确的端口。
所有客户端都在同一个子网上。
如果使用192.xxx或10.xxx IP 地址,则服务器位于同一子网中。如果服务器不使用192.xx或10.xx IP 地址,应该没有任何问题。
确保 JMeter 可以访问服务器。
确保在所有系统上使用相同版本的 JMeter 和 Java。混合版本将无法正常工作。
您已经为 RMI 设置了 SSL或禁用了它。
一旦确定系统准备就绪,就可以设置远程测试了。本教程假设您已经在所有系统上安装了 JMeter。JMeter 的工作方式是一个控制器节点在多个工作节点上启动测试。
在本教程中,我们仅使用 GUI 模式进行演示。在现实生活中,您应该使用 CLI 模式(非 GUI)来开始您的负载测试
一个控制器节点与多个工作节点
25.1 术语
在我们深入了解分步说明之前,最好先定义术语并确保定义清晰。
控制器节点
运行 JMeter GUI 的系统,它控制测试
工作节点
运行jmeter-server的系统,它从 GUI 接收命令并将请求发送到目标系统
目标
我们计划进行压力测试的网络服务器
25.2 循序渐进
1、在工作节点上,转到jmeter/bin目录并执行 jmeter-server.bat(在 unix 上为jmeter-server)。
2、在作为控制台的控制器节点上,打开 Windows 资源管理器并转到 jmeter/bin目录
3、在文本编辑器中打开jmeter.properties
4、编辑行remote_hosts=127.0.0.1
5、添加 IP 地址。例如,如果我在192.168.0.10 , …, 192.168.0.15上运行 JMeter 服务器,则条目将如下所示:
remote_hosts=192.168.0.10,192.168.0.11,192.168.0.12,192.168.0.13,192.168.0.14
6、启动 JMeter。
7、打开要使用的测试计划。
25.2 开始测试
此时,您已准备好开始负载测试。如果您想仔细检查工作节点是否正常工作,请在编辑器中打开jmeter.log。您应该会在日志中看到以下内容。
将日志文件写入:/XXXX/XXXXX/bin/jmeter-server.log
创建的远程对象: UnicastServerRef [liveRef: [endpoint:[192.XXX:XXXXX](local),objID:[-6a665beb:15a2c8b9419:-7fff, 3180474504933847586]]]
如果您没有看到此消息,则表示jmeter-server未正确启动。有关调试问题的提示,请转到提示部分。有两种方法可以启动测试:单个系统和所有系统。
25.3 启动单个客户端
1、点击顶部的运行
2、选择远程启动
3、选择IP地址
https://cwiki.apache.org/confluence/display/JMETER/JMeterFAQ#JMeterFAQ-Howtodoremotetestingthe’properway’?
https://jmeter.apache.org/usermanual/remote-test.html
service iptables stop
to stop the Linux firewall or ensure you open the correct ports.