IIS7 Web服务的性能问题



我们在高负载下处理请求的速度很慢。当查看这些突发事件中当前运行的请求时,我可以看到许多对我们的web服务代码的请求。

请求的数量并没有那么多,但它们似乎停留在预处理状态。下面是一个例子:

由于需要支持一些遗留代码,我们正在以经典模式运行IIS7应用程序池。

其他请求仍在继续处理,但这些卡住的请求似乎逐渐填满了可用的线程,导致其他页面的处理速度变慢。

有人知道这些请求在哪里被卡住了吗。

DB似乎没有资源问题,请求状态显示表明这都是预处理。

我们已经对本地机器上涉及的代码进行了负载测试,无法复制该问题。

另一个可能的因素是我们正在使用MVC和UrlRouting。

非常感谢您的帮助。

不幸的是,有些问题只发生在生产服务器上,因为负载测试永远无法模拟真实世界的用户。

当性能不好时,您可以尝试捕获挂起转储,然后分析它们(自己或通过打开支持案例http://support.microsoft.com与Microsoft支持一起工作)。

通常您可能遇到了著名的线程池瓶颈,http://support.microsoft.com/kb/821268.转储分析可以很容易地找出罪魁祸首,并帮助找到解决方案。

为什么不将它们移动到自己的AppPool中,将它们从经典ASP应用程序中分离出来?这样您就有更多的选项可以进行调优。

最新更新