【问题标题】:ASP.NET MVC intermittent slow responseASP.NET MVC 间歇性慢响应
【发布时间】:2011-01-28 02:59:21
【问题描述】:

问题

在我们的生产环境中,系统偶尔会将 ASP.NET MVC 应用程序的页面响应延迟最多 30 秒左右,尽管大多数情况下同一页面会在 2-3 秒内呈现。这会随机发生在任意页面以及 GET 或 POST 类型的请求中。例如,日志文件表明,系统需要 15 秒才能完成对 jquery 脚本文件的请求或其他小 css 文件的请求,需要 10 秒。

类似的问题:

  1. Random Slow Downs

生产环境:

  1. Windows Server 2008 - 标准(32 位) - 以集成模式运行的应用程序池。
  2. ASP.NET MVC 1.0

我们尝试了以下/观察:

  1. 将应用程序移至独立的 Web 服务器,但没有帮助。
  2. 我们从未在任何“ASP.NET”应用程序的服务器上发现同样的问题。
  3. 应用程序池设置正常。没有突然的回收/关闭。
  4. 没有 CPU 峰值或内存问题。
  5. 不会因为 SQL 查询等原因造成延迟。
  6. 将应用程序池转换为经典模式也无济于事

这似乎是导致 HTTP 管道延迟或工作处理器延迟看到请求的原因。

寻找其他建议。

-- 谢谢

【问题讨论】:

  • 这更可能是 IIS 或服务器问题,而不是 MVC 问题,IMO。 FWIW,我只在卸载应用程序时看到这种类型的行为......并且它发生在所有类型的 ASP.NET 应用程序中。
  • 即使应用程序正在运行,也会发生这种情况。我们也在监控应用程序池的启动和关闭。
  • 也可能是垃圾回收。您可能需要更频繁地回收应用程序池。
  • @arehman,考虑在 serverfault.com 上提出这个问题。这就是系统管理员和 IT 专业人员所在的位置。你应该在那里得到更好的答案。投票支持迁移到 serverfault。
  • 尝试放置一个 httpmodule 来拦截并记录请求管道的每个步骤。这应该告诉您问题出在 .NET 还是 IIS。

标签: asp.net asp.net-mvc iis-7


【解决方案1】:

对不起,如果这太明显了,但是您检查过 IIS 吗?对于进程回收,您可以将其设置为每天在设定的时间回收一次。

您也可以尝试应用程序预热http://weblogs.asp.net/gunnarpeipman/archive/2010/01/31/asp-net-4-0-how-to-use-application-warm-up-class.aspx

【讨论】:

    猜你喜欢
    • 2016-09-22
    • 2021-12-24
    • 2012-04-02
    • 1970-01-01
    • 2014-01-27
    • 2011-07-31
    • 1970-01-01
    • 2016-12-18
    • 2016-05-10
    相关资源
    最近更新 更多