.NET 3.5 网站在 IIS 6 上性能缓慢,.NET 2.0 网站运行正常

.NET 3.5 网站在 IIS 6 上性能缓慢,.NET 2.0 网站运行正常

我正在尝试将我们的 2 个网站和一些相关应用程序从一个虚拟专用服务器迁移到另一个。新服务器功能更强大,内存更大,磁盘空间也更大。但是,其中一个网站在新环境中的表现不佳。

我通过导出 IIS 设置和 xcopy 文件从旧服务器复制了配置。其中一个网站采用 .NET 2.0,该网站一切正常。但是,我们的另一个网站(使用 .NET 3.5 的第三方购物车)速度极慢 - 尤其是从购物车页面转到结帐页面时。

我花了两天时间寻找原因。在此期间,我做了几件事,试图看看我是否至少可以改变这种行为,但完全没有成功。以下是我尝试过的一些方法的列表:

  1. 运行 aspnet_regiis -i -enable 以及此工具的其他几个选项,例如 -ua
  2. 卸载并重新安装所有版本的 .NET
  3. 删除除有问题的网站之外的所有其他 IIS 网站
  4. 在 IIS 中删除并手动添加新的网站节点
  5. 我手动扫描了代码,寻找任何线索来了解发生了什么。这两个页面上有一个对 UPS 服务器的调用,但应用程序的其他地方没有这个调用,但我能够顺利地远程登录到该服务器。
  6. 仔细阅读应用程序的安装指南,以确保没有错过任何步骤。
  7. 重新安装 SSL 证书并检查中间证书配置。
  8. 已重启服务器。
  9. 比较与 IIS 相关的注册表项。
  10. 将此版本的应用程序的另一个副本复制到目录中(首先删除旧版本),以防原始版本损坏。
  11. 检查了 IIS 中的配置设置,包括日志文件、应用程序池、SSL 和 ASP.NET 配置。
  12. 发现虚拟内存分页文件未配置。我尝试配置一个,但虚拟化软件 (virtuozzo) 在重新启动时禁用了该设置。

无论如何,我想我会把它放在那里,以防我忽略了什么。我正在使用 hosts 文件配置进行测试,因为 DNS 当前指向旧服务器。主机名是访问站点所必需的。可以通过交替使用这 2 个 hosts 文件条目来比较同一站点的 2 个配置:

# New Server (with slowness)
#173.0.131.172  www.foldingchairdepot.com
# Old Server (working fine)
67.215.161.58   www.foldingchairdepot.com

新的服务器是Windows Server 2003 RC2企业版。

奇怪的是,虽然我看到客户端速度很慢,但服务器上几乎没有 CPU 利用率。我已通过多种方式验证,我确实可以通过主机文件条目访问新服务器。我还尝试了 2 个不同的互联网连接和几个不同的浏览器版本。

任何能帮助解决该问题的帮助都将不胜感激。

答案1

经过进一步的研究,我发现了问题所在。原来,新的虚拟专用服务器托管在与旧服务器不同的设施上。这本身不是问题,但数据库仍然位于 1200 英里外的旧位置。

无论如何,解决我的问题的方法是将数据库移动到与 VPS 相同的设施(和 LAN),我现在正在执行此操作。

答案2

您确实做了功课。这有好有坏。这意味着您提供了很好的信息,但没有留下任何简单的建议。;)

一些建议:

  1. 我注意到,旧网站的主页“大多数时候”都会出现问题,甚至有些图片也会出现问题。例如,这个图片。这可能是失败的原因。如果您能找出 .gif 文件失败的原因,那么其余的问题可能就会得到解答。

  2. 检查 IIS 日志以查找任何线索。如果您还没有这样做,您可以编辑日志设置以包含所用时间。这很方便,还有状态代码。将好服务器和新服务器上的访问进行比较,看看它们是否不同。任何差异都是很好的线索。

  3. 查看事件查看器和进程监视器 (www.systeminternals.com)。Procmon 可方便地追踪访问被拒绝的问题。

  4. 尝试比较两台服务器之间的静态网站(几个 html 页面),然后比较简单的 .asp 网站,最后比较简单的 .aspx 网站。看看能否缩小性能差异的范围。

相关内容