IIS 7.5 WebAPI 性能扩展问题

IIS 7.5 WebAPI performance scaling issue

我遇到了 IIS 中 WebAPI 解决方案响应时间激增的问题。 我使用一个简单的 JMeter 测试计划生成负载,运行 在我的开发机器上。我的测试计划使用 15 个线程重复 15 个静态调用。在 7 分钟内,负载约为 90K 个请求。吞吐量约为 203 requests per second.

在线程增加期间,JMeter 正在增加负载,响应时间开始包含尖峰,该尖峰在整个测试过程中持续存在。机器和应用程序似乎并没有真正出汗:CPU 上的负载约为 30-40%,因此远未饱和。在整个测试过程中,应用程序没有 return 一个错误。

关于应用程序和机器的细节:

到目前为止我尝试解决此问题的方法:

希望有人能够为我指明正确的方向。谢谢!

我建议进行后续步骤:

  1. 仔细检查 JMeter 机器的健康状况,如果 JMeter 机器没有足够的资源,则执行可能会由于 JVM 上的垃圾收集或 OS 级别的交换而暂停。此外,JMeter 默认设置仅适用于测试开发和调试,您需要在 运行 测试之前至少调整一些 JVM 参数。参考文献:

  2. 重新运行 你在 IIS 端的分析器工具遥测下的测试,检查像 dotTrace or ANTS 这样的工具,也许你的应用程序代码有问题。