【发布时间】:2011-01-28 02:59:21
【问题描述】:
问题
在我们的生产环境中,系统偶尔会将 ASP.NET MVC 应用程序的页面响应延迟最多 30 秒左右,尽管大多数情况下同一页面会在 2-3 秒内呈现。这会随机发生在任意页面以及 GET 或 POST 类型的请求中。例如,日志文件表明,系统需要 15 秒才能完成对 jquery 脚本文件的请求或其他小 css 文件的请求,需要 10 秒。
类似的问题:
生产环境:
- Windows Server 2008 - 标准(32 位) - 以集成模式运行的应用程序池。
- ASP.NET MVC 1.0
我们尝试了以下/观察:
- 将应用程序移至独立的 Web 服务器,但没有帮助。
- 我们从未在任何“ASP.NET”应用程序的服务器上发现同样的问题。
- 应用程序池设置正常。没有突然的回收/关闭。
- 没有 CPU 峰值或内存问题。
- 不会因为 SQL 查询等原因造成延迟。
- 将应用程序池转换为经典模式也无济于事
这似乎是导致 HTTP 管道延迟或工作处理器延迟看到请求的原因。
寻找其他建议。
-- 谢谢
【问题讨论】:
-
这更可能是 IIS 或服务器问题,而不是 MVC 问题,IMO。 FWIW,我只在卸载应用程序时看到这种类型的行为......并且它发生在所有类型的 ASP.NET 应用程序中。
-
即使应用程序正在运行,也会发生这种情况。我们也在监控应用程序池的启动和关闭。
-
也可能是垃圾回收。您可能需要更频繁地回收应用程序池。
-
@arehman,考虑在 serverfault.com 上提出这个问题。这就是系统管理员和 IT 专业人员所在的位置。你应该在那里得到更好的答案。投票支持迁移到 serverfault。
-
尝试放置一个 httpmodule 来拦截并记录请求管道的每个步骤。这应该告诉您问题出在 .NET 还是 IIS。
标签: asp.net asp.net-mvc iis-7