我们ASP.NET application
在几台服务器上运行相同:
- 一个实例运行
IIS 8.5
在Windows Server *2012* R2
- 两个实例在
IIS 7.5
on下运行Windows Server *2008* R2
令我烦恼的是,新机器的性能似乎比两台旧机器都差!
在 2012 年的机器上,大约 80 分钟的窗口显示平均37% 的 CPU 使用率(处理器时间),平均8 次请求/秒。
在 2008 年的机器上,在同一时间范围内,我看到32.5% 的 CPU 使用率和12.5 Requests/sec:
更重要的是,2012 机箱上的 CPU(Intel Core i7-4770 @ 3.40GHz)实际上应该比 2008 机箱上的 CPU(Intel Xeon E3-1230 @ 3.20GHz)更快:
使我对这种性能差异缺乏理解的事实是,2012 实例仅运行一个 ASP.NET 应用程序,而 2008 的两个服务器也都完成了其他任务:一个运行所有三个都访问的数据库服务器应用程序实例,另一个在同一个 IIS 实例下运行相当多的其他 ASP.NET 应用程序。
问题:
任何人都可以阐明什么可能是装备更好的服务器在 ASP.NET 应用程序性能方面远远落后的罪魁祸首吗?
我相信这已经在几个地方进行了介绍,但是平衡电源计划可能会导致性能状态之间的过度转换。这会导致性能异常差,并影响物理和虚拟。
将电源计划更改为高性能,以最大限度地使用硬件。
使用“平衡”电源计划时 Windows Server 2008 R2 性能下降:
https://support.microsoft.com/en-us/kb/2207548
https://sqlserverperformance.wordpress.com/2010/09/28/windows-power-plans-and-cpu-performance/
http://www.brentozar.com/archive/2010/10/sql-server-on-powersaving-cpus-not-so-fast/
@oliver 编辑:
切换到高性能电源计划会产生以下 PerfMon 统计信息: