我正在努力使用 jMeter 来测试我的 .NET Web 应用程序。我正在本地针对 Azure 中的暂存环境为我的应用程序运行 jMeter。击中一些端点,我得到:

java.net.ConnectException: Connection timed out: connect 

这告诉我这是发生在我身上的事情,而不是由我的应用程序引起的。我的应用程序没有显示任何错误,并且可以轻松地处理这种规模的请求。

在这个特定的测试中,我有 300 个线程,启动时间为 10 秒,重复 3 次。

我可以做些什么来进一步诊断?客户端是否有某种限制?

请您参考如下方法:

JMeter 默认配置不适合产生高负载,您只能将其用于测试开发和调试。在运行负载测试时,您至少需要增加 Java Heap Space分配给 JMeter(默认情况下只有 512Mb,我认为您用来阅读此页面的浏览器的消耗量是其两倍)。

您还应该在 non-GUI mode 中运行您的测试由于 JMeter GUI 的设计目的是在生成或多或少的巨大负载时正确显示信息,因此您最多可以使用约 50 个线程。

更多信息:

  • JMeter Best Practices
  • 9 Easy Solutions for a JMeter Load Test “Out of Memory” Failure


  • 我还建议在测试期间密切关注您的负载生成器健康状况,并收集有关 CPU、RAM、Swap、磁盘、网络使用情况以及一些 JVM 指标(如堆使用情况、垃圾收集等)的信息,以便您可以查看您的JMeter 实例配置得足够好,如果有足够的空间 wrt hadrware 资源等。当然在服务器端做是必须的。您可以使用 PerfMon JMeter Plugin收集此信息并将结果与​​其他测试指标一起绘制,以便您可以关联这些值并确定原因。见 How to Monitor Your Server Health & Performance During a JMeter Load Test插件配置和使用说明


    评论关闭
    IT序号网

    微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!