使用 AWS EC2 实例在 JMeter 中进行远程测试
Remote Testing in JMeter with AWS EC2 instance
我尝试使用我的计算机作为 Client/Master 并使用 EC2 实例作为从属来开始远程测试
我达到了所有这些要点:
- 在主服务器和从服务器上禁用防火墙。
- 我在 Master 和 Slave 上有相同版本的 java 和 JMeter。
我已将所有通信设置为通过端口 4000。
我的大师配置:
remote_hosts=10.xx.xx.xxx
server_port=4000
server.rmi.port=4000
server.rmi.localport=4000
server.rmi.ssl.disable=真
我的从站配置 [EC2 实例]
server_port=4000
server.rmi.port=4000
server.rmi.localport=4000
server.rmi.ssl.disable=真
在从 [EC2 实例] 上启动 JMeter 服务器的命令:
./jmeter-server -Gjava.rmi.server.hostname:10.xx.xx.xxx
在 Master [我的电脑] 上启动 JMeter 服务器的命令:
./jmeter-server -Gjava.rmi.server.hostname:192.xx.xx.xxx
在 运行 主机测试之后,测试在从机上开始并完成。
我的问题是 Client/Master 没有得到任何结果或摘要,它卡在并冻结在这一行:
正在等待端口 4445 上可能的 Shutdown/StopTestNow/HeapDump/ThreadDump 消息。
您的 10.xx.xx.xxx
和 192.xx.xx.xxx
是 class A and class C 本地网络 ,这意味着它们无法从其他任何地方访问,只能从他们的各自的本地网络。
因此您将无法从您的计算机访问 EC2 实例内部 IP,反之亦然。
为了能够连接到 EC2 实例,您需要:
- 使用外部 (public) IP address 或 DNS 主机名
- 在AWS Security Groups
中打开4000端口
为了将结果从 EC2 机器返回到您的计算机,您需要有静态外部 IP 地址,您需要联系您的 ISP 或网络管理员来配置和分配此地址
可以在 JMeter Distributed Testing with Docker 文章中找到带有自定义端口的 master/slave 配置示例。
更多信息:Remote hosts and RMI configuration
如果您只有一台从机,那么投资 master/slave 配置根本没有意义,只需 run JMeter in command-line non-GUI mode in the EC2 instance 并在本地分析结果。
如果您计划使用 1 个以上的从站 - 也可以将主站转移到 EC2,这样您就可以使用内部 IP 地址
我尝试使用我的计算机作为 Client/Master 并使用 EC2 实例作为从属来开始远程测试 我达到了所有这些要点:
- 在主服务器和从服务器上禁用防火墙。
- 我在 Master 和 Slave 上有相同版本的 java 和 JMeter。
我已将所有通信设置为通过端口 4000。
我的大师配置:
remote_hosts=10.xx.xx.xxx
server_port=4000
server.rmi.port=4000
server.rmi.localport=4000
server.rmi.ssl.disable=真
我的从站配置 [EC2 实例]
server_port=4000
server.rmi.port=4000
server.rmi.localport=4000
server.rmi.ssl.disable=真
在从 [EC2 实例] 上启动 JMeter 服务器的命令:
./jmeter-server -Gjava.rmi.server.hostname:10.xx.xx.xxx
在 Master [我的电脑] 上启动 JMeter 服务器的命令:
./jmeter-server -Gjava.rmi.server.hostname:192.xx.xx.xxx
在 运行 主机测试之后,测试在从机上开始并完成。
我的问题是 Client/Master 没有得到任何结果或摘要,它卡在并冻结在这一行:
正在等待端口 4445 上可能的 Shutdown/StopTestNow/HeapDump/ThreadDump 消息。
您的 10.xx.xx.xxx
和 192.xx.xx.xxx
是 class A and class C 本地网络 ,这意味着它们无法从其他任何地方访问,只能从他们的各自的本地网络。
因此您将无法从您的计算机访问 EC2 实例内部 IP,反之亦然。
为了能够连接到 EC2 实例,您需要:
- 使用外部 (public) IP address 或 DNS 主机名
- 在AWS Security Groups 中打开4000端口
为了将结果从 EC2 机器返回到您的计算机,您需要有静态外部 IP 地址,您需要联系您的 ISP 或网络管理员来配置和分配此地址
可以在 JMeter Distributed Testing with Docker 文章中找到带有自定义端口的 master/slave 配置示例。
更多信息:Remote hosts and RMI configuration
如果您只有一台从机,那么投资 master/slave 配置根本没有意义,只需 run JMeter in command-line non-GUI mode in the EC2 instance 并在本地分析结果。
如果您计划使用 1 个以上的从站 - 也可以将主站转移到 EC2,这样您就可以使用内部 IP 地址