2009-05-26 65 views
2

2台の64ビットマシンを持つWindows 2003クラスタ上で実行されているサイトがあります。IIS 6.0サーバーが忙しいHTTP 503 Connection_Dropped DefaultAppPool

サイトは、サイトがないことの一つは、(メモリにキャッシュされた)2メガバイトのファイルのダウンロードを可能にするためにある20,000以上の同時ユーザー

に対処できるようにする必要があります。

私たちは、CPUとメモリの使用率が低いです。余剰帯域もあります。

ユーザーがファイルをダウンロードする時間がかかるため(一部のユーザーのインターネット接続が遅いため)、接続が不足しているようです。

IISログでは、HTTP 503エラーが発生します。

HTTPErrログでは、主に、いくつかのTimer_EntityBody DefaultAppPoolを使用してConnection_Dropped DefaultAppPoolを取得します。

質問:IISをより多くの接続を許可するように設定するにはどうすればよいですか。それとも私がここで紛失しているものがありますか?あなたは、複数のWebサーバーにスケールアウトを考える必要があるかもしれません -

おかげ

シラーズ

答えて

4

このregファイルは、すべての大量サイトで実行されます。

Windows Registry Editor Version 5.00 


[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters] 
"EnablePMTUDiscovery"=dword:00000001 
"MaxUserPort"=dword:0000fffe 
"TCPTimedWaitDelay"=dword:0000003c 
"TCPMaxSendFree"=dword:0000ffff 
"SynAttackProtect"=dword:00000001 

これらの変更を行うには、サーバーを再起動する必要があります。

参照:

-2

私はあなたが任意の単一マシン上の20000の同時接続を得ることができるとしているとは思いません。

+1

"2台の64ビットマシンでWindows 2003クラスタ上で実行されているサイト" ... – Oli

0

これがIISに当てはまるかどうかはわかりませんが(なぜそうではないのか分かりませんが)、Linuxサーバーでは、キープアライブをオフにすると同時接続数が制限されます。

さらにこのが適用されない可能性がありますが、静的コンテンツをすべて別の小さなサーバーにオフロードすると、物事を敏感にするのに役立ちます(IISが処理している接続の数が大幅に減ります)。ほとんどの人はnginxやlighttpdを使うでしょう。新しいサブドメイン上でそれらをラウンドロビンするのはかなりシンプルです。

0

あなたがIISアプリケーションにキュー制限を設定する必要がありますプール

関連する問題