我的目标是使用4个Azure服务器作为负载生成器和1个Azure服务器来运行负载测试,以启动测试并收集结果。我运行了分布式测试,并获得了良好的数据。但今天当我远程启动测试时,4个负载生成器中的3个失败,所有的http事务都出错了。失败的事务会记录以下错误:
非HTTP响应消息:java.lang.ClassNotFoundException:org.apache.commons.logging.impl.Log4jFactory(由java.lang.ClassNotFoundException引起:org.apache.commons.logging.impl.Log4jFactory)
我确认每台机器上的jmeter \ lib文件夹中存在commons-logging-1.2.jar。
为了尝试缩小问题范围我设置了一个Azure服务器来启动加载并运行JMeter-server,但这也失败了。但是,如果我从同一服务器上的JMeter UI开始测试,则测试运行正常。我认为这排除了脚本中的问题或Azure机器相互通信的问题。
我还将我的测试计划简化为仅运行一个简单的http事务的地方,但这仍然失败。
我已经完成了所有基础知识:重新安装了jmeter,将java更新到最新版本(1.8.0_111),更新了JAVA_HOME环境变量并在服务器上撤消了最新的Microsoft安全更新。关于如何解决这个问题的任何建议将不胜感激。
我使用的是JMeter 3.0r1743807和Java 1.8 Azure服务器正在运行Windows Server 2008 R2