我想使用一个 EC2 实例作为 Amazon 中 1 个或多个远程服务器实例的 Controller 。我可以开始并运行测试(在它运行的远程端)但 Controller 永远不会退出。它失败了:
2015/02/12 17:34:25 ERROR - jmeter.JMeter: Error in NonGUIDriver java.lang.IllegalStateException: Engine is busy - please try later at org.apache.jmeter.engine.RemoteJMeterEngineImpl.rconfigure(RemoteJMeterEngineImpl.java:151)
如果我在没有 -R 的情况下运行测试,它工作正常。
相同的测试设置在 SoftLayer 中有效,所以我认为这是一个防火墙问题,但我认为我已将所有端口放入我的安全组。
最佳答案
JMeter 使用 Java RMI 进行分布式测试。此协议(protocol)适用于使用不同的网络或防火墙。
对于 EC2,我建议使用:
- Amazon VPC为 Jmeter 实例创建自己的虚拟网络。
- 在 Jmeter 机器之间使用 ssh 隧道 - 这种类型的连接通常比 RMI 更稳定且“可调试”更好
关于amazon-ec2 - 在 Amazon EC2 中远程运行 JMeter 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28485433/