IIS在队列中阻止请求而不是处理

时间:2017-07-07 13:59:03

标签: asp.net azure iis iis-7 performance-testing

我正在对Azure中托管的应用程序执行负载测试。它是一个云服务,在内部负载均衡器后面有3个实例(基于哈希的负载均衡模式)。

当我执行负载测试时,即使对IIS的req / sec和总当前请求非常低,它也会对请求进行排队。我不确定会出现什么问题。

有什么建议吗?

添加一些可能有助于您做出决定的效果计数器屏幕截图。

#Processor Time

enter image description here

IIS counters - 1

IIS counters - 2

点击图片查看原始图片。

Edit-1:根据Rohit Rajan的要求,

Cloud Service有2个实例(意味着2个VM),每个实例都有14 GB的RAM和8个内核。 我执行步骤加载模式从100开始,每5分钟添加100,150个用户,直到4-5小时,直到负载达到10,000个VU。

对外部系统的任何调用都写为异步。数据库调用是同步的。

1 个答案:

答案 0 :(得分:2)

您的问题没有直接的答案。一种可能的方法是探索其他调查方案。

根据您的解释,应用程序中似乎存在导致请求排队的瓶颈。

为了对此进行调查,请在看到请求排队时收集内存转储,然后使用DebugDiag对其运行挂起分析。

有几种方法可以收集内存转储。

  1. 任务管理员
  2. Procdump.exe
  3. 调试诊断
  4. Process Explorer
  5. 获得内存转储后,您可以安装debug diag,然后对其进行分析。它会生成一份报告,可以帮助您入门。

    调试诊断程序下载:https://www.microsoft.com/en-us/download/details.aspx?id=49924