【发布时间】:2016-07-18 13:12:56
【问题描述】:
背景:我们正在尝试将使用经典 ASP 编写的大型复杂 Web 应用程序从 Windows Server 2003 迁移到 Windows Server 2012 R2。
一切正常,但新服务器为 ASP 页面提供服务非常慢。对于站点上的单个用户,ASP 页面的响应时间在 2-3 秒左右是很常见的。同样大的 AJAX 调用和 JavaScript 页面在 100 毫秒内提供和处理。
当网站接收到中等水平的负载(超过大约 50 个用户)时,它会变得非常缓慢。生产站点的正常负载是几千个用户。
返回的数据量或数据库连接之间似乎没有相关性。我们使用 SQL Server 2008 R2 作为数据库。
Web 应用程序服务器位于 DMZ 中,并为位于我们一般 Intranet 中的数据库服务器使用 hosts 文件条目。数据库查询处理速度极快(毫秒内)。
我尝试分析 Web 服务器内存使用情况、磁盘 I/O 和网络使用情况,但没有发现内存泄漏的迹象。查询分析显示处理数据库调用没有滞后。
运行失败的请求跟踪后更新
- 我设置了为超过 1 秒的经典 ASP 请求触发的跟踪
- 详细日志显示从请求开始到请求完成的每个跟踪的最长时间:140 毫秒
- 记录的总请求时间范围从 1094 毫秒到 1453 毫秒 - 因此实际请求所花费的时间比失败请求跟踪记录的事件长一个数量级。
针对此性能问题的常见修复方法是什么?
【问题讨论】:
-
您需要分析您的请求并查看花费的大量时间在哪里,我认为这与服务器无关
-
@TheGameiswar - 感谢您提供此信息。我已经用 FREB 结果的摘要更新了问题。
-
我不是 100% 确定如何端到端跟踪请求,我提供了一些建议,因为我们过去使用 FREB 来确定故障,此外它还显示了每个事件所花费的时间页面生命周期。我还会检查 iis 日志,看看是所有请求都发生这种情况还是只有一些发生这种情况
-
@TheGameiswar - 所有对 ASP 页面的请求都会发生这种情况。
*.asp很慢。*.js、*.css、*.html不是。
标签: asp-classic sql-server-2008-r2 iis-8.5