我正在努力使用jMeter来测试我的.NET网络应用程序。我在本地针对我的应用程序在Azure中的暂存环境运行jMeter。点击一些终点,我得到:
java.net.ConnectException: Connection timed out: connect
告诉我这件事发生在我身上,而不是由我的应用引起的。我的应用程序显示没有错误,并且正在轻松地提供如此大的请求。
在这个特定的测试中,我有300个线程,上升10秒,重复3次。
我可以做些什么来进一步诊断?客户端是否存在某种限制?
答案 0 :(得分:1)
JMeter默认配置不适合产生高负载,您可以将它用于测试开发和调试。在运行负载测试时,您需要增加至少分配给JMeter的Java Heap Space(默认情况下它只有512Mb,我认为您用来阅读此页面的浏览器消耗的量是其两倍)。
你也应该在non-GUI mode中运行你的测试,因为当生成或多或少的巨大负载时,JMeter GUI不能正确显示信息,你最多可以使用它~50个线程。
更多信息:
我还建议在测试期间密切关注负载生成器的运行状况,并收集有关CPU,RAM,交换,磁盘,网络使用情况以及堆使用情况,垃圾收集等一些JVM指标的信息,以便您可以如果有足够的余量,请查看您的JMeter实例是否配置得足够好hadrware资源等。当然,在服务器端这样做是必须的。您可以使用PerfMon JMeter Plugin收集此信息并将结果与其他测试指标一起绘制,以便您可以关联这些值并确定原因。有关插件配置和使用说明,请参阅How to Monitor Your Server Health & Performance During a JMeter Load Test