2008-12-24 45 views
1

我有一个与服务器挂钩的web服务器,我已经能够将它隔离到一个特定的网站实例。我想更深入地挖掘并隔离导致问题的特定页面/进程。任何提示?在IIS中分离猖獗的进程

+0

这竟然是一个SQL问题(sql 2005)。该解决方案是通过使用SQL活动监视器来查找具有Async_network_io等待类型的暂挂进程。然后,我们运行SQL分析器将其缩小为两个大量查询,这些查询返回了大量结果。 – madcolor 2008-12-31 17:29:36

回答

0

您正在使用哪个版本的IIS?一些较高的那些允许将哪个进程用于处理请求,例如可以更多地隔离的工作进程。我还建议通过IIS日志阅读,看看正在处理的请求,他们花了多长时间等。

每个IIS版本都有很多不同的怪癖。真的很低的只有启动/停止功能,但新的确给了管理员更多的控制和能力,IMO。

0

您应该尝试使用探查器来确定哪些消耗最多的资源。我已经使用dotTrace Profiler,但如果预算紧张,这可能会很昂贵。

它使您能够确切地查看哪些进程和方法调用使用的请求的处理时间最长,因此您可以隔离最耗费资源的操作。

你应该真的能够使用任何分析器来做到这一点,而不仅仅是dotTrace。我只是碰巧只有这方面的经验。

2

您可以记住进程的内存转储并使用windbg拨动。

There is posts on this issue from Tess Ferrandez blog。按照她的说法做。

+0

苔丝的博客是这类事情的重要阅读材料。 – Kev 2008-12-24 19:44:12

+0

谢谢..我会检查出来的... – madcolor 2008-12-24 20:31:20

0

更改您的网站花园设置为10或更大。然后观察Web服务器上的CPU和内存利用率。

继续增加网络花园设置,直到应用程序完全响应,平均利用率低于5%,或者实际上您的网络服务器的内存达到最大。

UPDATE

它不是诊断,它是关于正确配置IIS服务器。 Web Gardens是IIS最受人误解的功能之一。通过增加可用的线程来处理新的请求,您可以在Web服务器级别删除争用的外观,并将其直接放在它所属的位置。在这种情况下在你的数据库。它不是掩盖问题,而是实际突出显示问题的确切位置。

0

原来是SQL问题(sql 2005)。该解决方案是通过使用SQL活动监视器来查找具有Async_network_io等待类型的暂挂进程。然后,我们运行SQL分析器将其缩小为两个大量查询,这些查询返回的结果数量过多。