0

我会提前道歉,因为这篇文章是出于严重的挫败感而诞生的。

我有一个在 Windows 2000/IIS5 上运行多年的经典 ASP 网站,以及我们最近开始在相同服务器上运行的另一个 ASP.NET 2.0 网站。到目前为止,一切运行良好。

去年,我尝试升级(全新安装)到 Windows 2003/IIS6。经典的 ASP 网站要慢得多,根据使用数周的平均日志/统计数据,慢了大约 50%。我想尽一切办法找出慢的地方。网络调整。融合的。经典的 iis5 模式。进行中。进程外。没有什么比这更好的了,我很快又回到了 IIS5/2000。那天倒退了,性能又回到了原来的位置。这发生在不止一台服务器上。最终,我放弃了,把它归结为 2003 年的某种 TCP 问题。

我最近在一台类似但功能更强大的机器上安装了一个 Windows 2008/IIS 服务器,希望情况会更好。令我高兴的是,我的 ASP 经典应用程序在 Windows 2008 下速度更快。不幸的是,我的 ASP.NET 应用程序现在明显慢了 50-75%。所有它的内容加载。它与 2000 机器在同一个网络上。该站点是直接从另一台机器复制的,它是来自 studio 2005 的预编译 Web 应用程序。

虽然该页面确实会访问数据库和另一台服务器以获取初始数据,但它会从那里缓存一段时间,它还使用与经典站点相同的数据库服务器,速度很快,所以我知道这不一定是连接问题。

我试过默认的应用程序池和经典的 .NET 池没有区别。已更新。/检查所有常用位置的最大线程数、每个 cpu 的最大数、web garen 或没有似乎无关紧要。我已经仔细检查了编译 debug=false 仍然在 web.config 中设置。

为了快速进行基准测试,我使用 ab.exe (Apache Bench) 发送 10 个请求,一次发送 1 个。即使我使用 IE 或 Firefox 访问该站点,它也明显比 2000 以下慢,即使根据 firebug 也是如此。

在这一点上,我很沮丧,完全不知道从哪里开始。有没有人经历过这种混乱?

4

2 回答 2

0

速度取决于许多因素。您确实需要仅在服务器上测量性能,以了解这是否是服务器问题。在 Web 配置中为您的网站启用跟踪,并查看哪个部分/功能减慢了它的速度。您可以在每次操作后添加自己的跟踪,以查看哪个代码块最慢。我敢肯定,一旦页面的哪个部分最慢,您就会发现可以改进/优化的东西。

于 2009-04-25T19:07:53.600 回答
0

就我而言,答案很简单,我启动了 WireShark。有 1 个外部资源请求无法解决,因为测试机器无法像现场机器那样直接访问互联网。

总是小事。

于 2009-05-08T01:27:40.687 回答