Dav*_*s84 9 windows-server-2003 asp.net 64-bit
我们目前正在将我们的 32 位生产服务器升级到更强大的 64 位服务器,同时升级到 ASP.NET 4。但是,在进行一些轻负载测试时,我们的性能似乎有所下降!
我创建了一个简单的负载测试,其中 20 个用户的恒定负载执行一些简单的用例并比较了结果:

如您所见,性能最高的配置是使用 ASP.NET 2.0 的现有 32 位服务器。
您可以看到,通过在 64 位机器上以 32 位模式运行 IIS,它与现有的 32 位服务器相当,但在 64 位服务器上以 64 位模式运行 IIS 时,性能明显较差。鉴于新服务器更好,我不确定为什么会这样。
出于某种原因,每次我用 64 位的 IIS 运行测试时,开始时都会出现一个很大的峰值,然后它会趋于平缓,但响应时间仍然比 32 位要长。当我在 32 位模式下运行 IIS 时,峰值消失了。

请注意,应用程序池/应用程序不会在测试之间重新启动,但峰值始终存在并且响应高于其他配置。
所以 - 我的问题是:有人知道这是为什么吗?我需要设置任何配置设置吗?有没有人对我如何缩小造成差异的原因有一些建议?
当前生产服务器:Win Server 2003 - 32bit - IIS6
新服务器:Win Server 2003 R2 - 64 位 - IIS6
根据文档,MS 建议在 64 位服务器上运行 32 位应用程序池,因为 Web 应用程序无论如何都不应该使用更多内存(内部)。
32 位应用程序始终具有更高的性能 - 较小的指针意味着特定指令集所需的内存更少,这意味着更好的缓存命中率。
64 位进程只有在进程确实需要更多内存时才有意义。如果你让你的网络前端一直这样做(前端),它就没有理由需要那么多内存;)
最重要的是,实际升级到性能更高的版本是有意义的。IIS6 在性能方面表现不佳 - IIS 7.5 好很多,特别是如果您运行 ASP.NET/托管代码。
| 归档时间: |
|
| 查看次数: |
2695 次 |
| 最近记录: |