【问题标题】:Classic ASP on Windows Server 2012 extremely slow to serve ASP pagesWindows Server 2012 上的经典 ASP 提供 ASP 页面的速度极慢
【发布时间】: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


【解决方案1】:

如果连接字符串使用机器名称\实例名称而不是 IP 地址,则有报告称经典 ASP 站点运行缓慢,尤其是当 SQL 在非标准端口上运行时。也许尝试更改连接字符串,例如

Server=10.10.10.123,1433\myInstanceName;

参考:forums.iis.net

【讨论】:

    【解决方案2】:

    我无法发表评论,因为我没有足够的声誉,所以提出问题作为答案。一旦我得到答案,我会删除它

    • 您在连接字符串中用于连接的驱动程序是什么?
    • 我确实看到了您对主机文件的评论,请您尝试在连接字符串中直接使用 IP。请不要删除主机文件。
    • 您能在 asp 中尝试一个新的小型 Web 应用程序,只需最少的数据库列表。是不是也很慢?
    • 在没有数据库连接和时间差异的情况下再次尝试相同的新应用程序。
      • 您是否在代码中出现了错误恢复,您是否在任何文件/日志权限上失败但未得到报告。

    【讨论】:

      【解决方案3】:

      尝试禁用 Microsoft Defender。更新后出现严重减速。他们修改了执行 ASP 代码的 vbscript.dll。 如果您无法离开 Windows Defender,您可以将 vbscript.dll 替换为旧版本。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多