4台の物理サーバー(win2008R2 64ビットを実行する64Gメモリを備えたxeon 2.5Ghz 6コア12個の論理プロセッサ)で平均(W3SVC_W3WP)50req /秒(各サーバーあたり)でサービスを提供するmvc4 Web APIがあります。
最近、不十分なキャパシティ プランニングが原因で新しいリクエストが殺到し始め、多くのキューイング (asp.net v4.0.30319 キューに入れられたリクエスト = 2k-5k) と約 200 までの合計リクエスト/秒が見られます (以前の平均は 50 でした)。処理できます)。
4 つのサーバーのそれぞれでアプリケーションをスケーリングするにはどうすればよいですか?
これはいくつかのパフォーマンスカウンターへのリンクです-> http://bit.ly/WHFNv0
与えられた:
- IIs 7.5 - 1 つの 64 ビット統合アプリ プールで実行される 2 つの Web サイト (どちらも Web Rest API を公開)
- サーバーあたりの CPU ~25-55%
- 1 つのワーカー プロセス (w3wp.exe)
- キューの長さ = 1000
マシン構成:
<system.web>
<processModel autoConfig="false" maxWorkerThreads="4095" maxIoThreads="4095" minIoThreads="2047"
requestQueueLimit="5000" responseDeadlockInterval="00:03:00" />
<httpRuntime minFreeThreads="704" minLocalRequestFreeThreads="608" />
</system.web>
IIS Advanced Pool Settings で最大ワーカー プロセス数を 1 -> 2 に設定しても、あまり効果がないように見えました。