【问题标题】:IIS6, ASP.NET MVC 1 and random slowdownsIIS6、ASP.NET MVC 1 和随机减速
【发布时间】:2011-01-31 03:12:29
【问题描述】:

我最近将 MVC 应用程序部署到 IIS6 Web 服务器。我遇到的一种奇怪行为是加载时间会随机增加到 30 秒以上,然后恢复正常。我们的测试表明这种情况同时发生在多个连接上。等待结束后,站点将再次响应。何时发生这种情况完全是随机的,但可能大约每 15 分钟左右发生一次。

我的第一个想法是应用程序由于某种原因被 Web 服务器重新启动,但我确定不是这种情况,因为进程回收设置的频率非常低,并且我在应用程序启动时放置了一些日志记录。

这也与数据库连接无关。这种减速也只是通过在静态页面之间移动而发生。我用 SQL 分析器观察了数据库,当这些减速发生时没有任何影响。

最后,我在控制器操作中设置了进入和退出日志记录,减速总是发生在控制器外部。控制器动作的进入和退出时间总是适当的快。

有没有人知道是什么原因造成的?我尝试在 IIS7 上本地运行它,但没有遇到问题。我只能认为这与我们的托管服务提供商有关。

【问题讨论】:

    标签: c# model-view-controller iis-6 load performance


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      这是在死机服务器上运行的吗?如果不是,它可能是您的托管服务提供商。

      从您所说的我听来,服务器每 15 分钟就会出于某种原因使其 CPU 达到最大值。它可能是代码中的某些东西遇到了无限循环,您是否查看了事件日志以了解应用程序的任何崩溃/错误。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-07
        • 2013-04-21
        • 2010-12-11
        • 2022-08-19
        • 1970-01-01
        相关资源
        最近更新 更多