首页 > 解决方案 > Web 负载测试 - 波浪形响应时间图表示什么?

问题描述

我正在使用 JMeter 对 API 进行负载测试。当我将 API 托管在与测试相同的 PC 上时(虽然数据库是远程的),我得到了好的结果。但是,当我尝试通过相同的 API 运行负载测试但托管在同一网络上的不同 PC 上时,我的测试结果中出现了这种波形模式。

Web 负载测试结果图中的波浪模式

四组行中的每一行都是特定 API 端点的响应时间,蓝线是活动线程数。问题是:这种波浪形图案是否意味着什么?当 API 托管在与测试相同的计算机上时,此模式不可见。结果非常不同,我认为这种模式可能与问题有关。

我使用了 200 个活动线程,并且没有特定的配置会产生这种模式的请求。

标签: graphjmeterperformance-testingload-testing

解决方案


您需要注意以下几点:

  1. 连接时间和延迟指标经过时间连接时间延迟实际服务器响应时间的总和,因此这些“波动”可能是由网络问题引起的。
  2. 这可能表明正在测试的应用程序正在执行垃圾收集或使用由于资源不足而比内存慢得多的交换文件确保它有足够的空间来运行 CPU、RAM、网络和磁盘 IO。可以使用即JMeter PerfMon Plugin检查这些指标。这同样适用于 JMeter,如果 JMeter 无法足够快地发送请求 - 您将看到吞吐量下拉列表。
  3. 解决问题的最有效方法是在分析工具遥测下运行您的应用程序,这将允许您
    识别最重的函数、堆中最大的对象等。
  4. 考虑检查您的数据库并检测慢查询,因为问题可能是由数据库问题(包括网络层)引起的

推荐阅读