同じASP.NET application
をいくつかのサーバーで実行しています。
IIS 8.5
のWindows Server *2012* R2
で実行されますIIS 7.5
のWindows Server *2008* R2
で実行されますnewerマシンが古いマシンの両方よりもworseを実行しているように見えるのは、私にとってバグです。
2012ボックスでは、約80分のウィンドウに平均7%CPU使用率(プロセッサー時間)と平均8リクエスト/秒が表示されます。
2008年のボックスでは、同じ時間枠に2.5%CPU使用率および12.5リクエスト/秒が表示されます。
さらに、2012ボックスのCPU(Intel Core i7-477 @ 3.40GHz)は、実際には2008ボックスのCPU(Intel Xeon E3-1230)よりも高速であると想定されています @ 3.20GHz):
このパフォーマンスの違いを理解できないことに加えて、2012年のインスタンスは1つのASP.NETアプリケーションのみを実行するのに対し、2008年のサーバーは両方とも他のタスクも実行します:1つは3つすべてがアクセスするDBサーバーを実行しますアプリケーションインスタンス、他のインスタンスは同じIISインスタンスの下で他のASP.NETアプリケーションをかなり実行します。
質問:
ASP.NETアプリケーションのパフォーマンスの点で、これよりもはるかに遅れている優れた設備のサーバーの犯人である可能性のあるものに誰かが光を当てることができますか?
これはいくつかの場所でカバーされていると思いますが、Balanced電源プランはパフォーマンス状態間の過度の遷移を引き起こす可能性があります。これにより、パフォーマンスが著しく低下し、物理と仮想の両方に影響します。
電源プランをHigh Performanceに変更して、ハードウェアを限界まで使用します。
「バランスのとれた」電源プランを使用すると、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:による編集
High Performance電源プランに切り替えると、これらのPerfMon統計が得られました。