ASP.NET网站似乎定期(每个小时)冻结/停止/暂停/挂起

问题描述 投票:2回答:4

我在Windows 2008 x64上的IIS 7下托管了一个网站。 IIS以64位模式运行,并且该站点具有其自己的64位应用程序池等。该网站在大多数情况下似乎运行良好,然后突然冻结用户的请求。他们没有收到超时消息,它只是挂起,似乎要等待大约2-3分钟才能返回页面。

我在此期间监视了该应用程序池上的工作进程,并发现处理器稳定在25%。记忆很好,并且不会以任何令人恐惧的方式增加。

我设置了失败的请求跟踪,以向我显示请求花费超过30秒的每个问题,是的,它记录了请求但没有错误。

在停机期间,同一服务器上不同应用程序池中的其他网站运行正常。

关于如何调试此问题的任何建议?

c# asp.net iis-7
4个回答
2
投票

您是否已将IIS设置为按照给定的时间表回收该应用程序池上的工作进程?您表示监视了它,但没有表示是否发现它正在过度回收,只是分配的内存没有以不适当的方式增加。

IIS日志在这段时间内是否显示任何异常?尝试使用诸如Fiddler之类的应用来帮助调试对Web服务器的请求。


1
投票

原来我们使用的是名为i-Load的控件来调整图像大小。它具有删除3小时后的临时文件的功能。这锁定了IO,导致整个Web应用程序停止运行。关闭它,现在一切正常。希望这对某人有帮助。


0
投票

应用程序是否依赖于每小时运行一些作业的数据库?

如果数据库负载沉重,查询将需要更长的时间在您的数据库上执行,因此,Web应用程序需要更长的时间来处理页面。


0
投票

是的,如果IO进程未完成其他线程,则它可以阻止应用程序池挂起的线程。因此,请创建另一个IO进程线程,并正确处理取消令牌源。

© www.soinside.com 2019 - 2024. All rights reserved.