2009-05-26 6 views
2

Wir haben eine Site, die auf einem Windows 2003-Cluster mit 2 64-Bit-Computern ausgeführt wird.IIS 6.0 Server zu beschäftigt HTTP 503 Connection_Dropped DefaultAppPool

Die Website muss in der Lage sein, mit mehr als 20.000 gleichzeitigen Benutzern

Eines der Dinge fertig zu werden, dass die Website tut, ist dem Download einer Datei 2MB zu ermöglichen (die im Arbeitsspeicher zwischengespeichert wird).

Wir haben eine geringe CPU- und Speicherauslastung. Wir haben auch eine überschüssige Bandbreite.

Es scheint, dass wir wegen der Zeit, die der Benutzer benötigt, um die Datei herunterzuladen (einige Benutzer haben langsame Internetverbindungen), keine Verbindungen mehr haben.

Im IIS-Protokoll erhalten wir HTTP 503-Fehler.

Im HTTPErr-Protokoll erhalten wir hauptsächlich Connection_Dropped DefaultAppPool mit einigen Timer_EntityBody DefaultAppPool.

Frage ist: Wie können wir IIS konfigurieren, um mehr Verbindungen zuzulassen? Oder gibt es etwas, das mir hier fehlt?

Dank

Shiraz

Antwort

4

Wir führen diese Registrierungsdatei auf allen unseren Websites mit hohem Volumen aus.

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 

Beachten Sie, dass der Server neu gestartet werden muss, damit diese Änderungen stattfinden.

See:

-2

Ich glaube nicht, dass Sie auf einer einzelnen Maschine bekommen 20000 gleichzeitige Verbindungen zu können, werden - Sie müssen möglicherweise über horizontale Skalierung auf mehr als einen Web-Server denken.

+1

"eine Website, die auf einem Windows 2003-Cluster mit 2 64-Bit-Maschinen läuft" ... – Oli

0

Ich bin mir nicht sicher, ob dies für IIS gilt (obwohl ich nicht sehe, warum es nicht), aber auf Linux-Servern finde ich die Keep-Alive-Funktionen deaktivieren die Anzahl der gleichzeitigen Verbindungen zu begrenzen. Und wieder, diese möglicherweise nicht zutreffen, aber ich finde auch, dass das Auslagern aller statischen Inhalt auf einen anderen, kleineren Server hilft, die Dinge nippy (und wird die Anzahl der Verbindungen, die IIS beschäftigt) massiv senken. Die meisten Leute würden mit nginx oder lighttpd gehen. Es ist ziemlich einfach, diese in einer neuen Subdomain zu rounden.

0

müssen Sie die Warteschlange Limit in IIS App festlegen Pool

Verwandte Themen