2010-03-24 210 views
3

我最近部署了一个MVC应用程序到IIS6的Web服务器。我一直有的一个奇怪的行为是加载时间会随机吹到30秒+,然后恢复正常。我们的测试表明,这种情况同时发生在多个连接上。等待结束后,网站会再次响应。这种情况发生时是完全随机的,但可能每15分钟左右发生一次。IIS6,ASP.NET MVC 1和随机减速

我的第一个想法是应用程序由于某种原因正在由Web服务器重新启动,但我确定情况并非如此,因为进程回收很少设置,并且我在应用程序启动中放置了一些日志记录。

这也与数据库连接无关。这种放缓只发生在静态页面之间。我用SQL分析器监视了数据库,并且在发生这些减速时没有任何事情发生。

最后,我已经在我的控制器动作中放入了进入和退出日志,减速总是发生在控制器之外。控制器动作的进入和退出时间总是适当的快。

有没有人有什么想法可能会导致此?我试过在IIS7上本地运行它,但我没有遇到这个问题。我只能认为这与我们的托管服务提供商有关。

回答

0

这是否在死亡的服务器上运行?如果不是,它可能是您的主机providor。

这听起来对你来说,服务器每隔15分钟就会因为某种原因使其CPU达到最大。它可能是代码触发无限循环的东西,你看看事件日志中是否有应用程序出现任何崩溃/错误。

0

在探查器(例如JetBrains)下运行web应用程序,并在发生这些30秒锁定之一后转储结果。分析器输出应该使找到瓶颈非常明显,因为它将精确定位消耗时间/阻塞其他线程的确切API调用。

在猜测它可能是内存压力导致从缓存或垃圾收集转储项目,虽然30秒听起来有点过分。