Windows Server 2012上的经典ASP在提供ASP页面方面速度极慢

时间:2016-07-18 13:12:56

标签: asp-classic sql-server-2008-r2 iis-8.5

背景:我们正在尝试将使用经典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毫秒
  • 记录的请求总时间从1094ms到1453ms不等 - 因此实际请求所花费的时间比失败请求跟踪记录的事件长一个数量级。

此性能问题的常见修复方法是什么?

3 个答案:

答案 0 :(得分:1)

如果连接字符串使用计算机名称\实例名称而不是IP地址,则有报告称传统ASP网站速度很慢,尤其是在非标准端口上运行SQL时。也许尝试更改连接字符串,例如

     add_image_size( 'nextgen_size', 800, 800, $crop = true);

参考:forums.iis.net

答案 1 :(得分:1)

我无法评论,因为我没有足够的声誉,所以提问作为答案。一旦我得到答案,我将删除此内容

  • 您使用连接字符串连接的驱动程序是什么?
  • 我确实看到了你对主机文件的评论,请你在连接字符串中尝试直接IP。请不要删除主机文件。
  • 您是否可以使用最少的数据库列表在asp中尝试一个小型的新Web应用程序。那还慢吗?
  • 再次尝试使用没有数据库连接的相同新应用程序并计算时差。
    • 您是否在代码中接下来有错误恢复,您是否在任何文件/日志权限上失败但是没有报告。

答案 2 :(得分:0)

尝试禁用Microsoft Defender。更新后,速度会严重下降。他们修改了执行ASP代码的vbscript.dll。 如果没有Windows Defender无法生存,则可以将vbscript.dll替换为较旧的版本。