Tipps für die Optimierung von Web-Server-Plug-ins
Einige der wichtigen Tipps zur Optimierung von Web-Server-Plug-ins beziehen sich auf die gleichmäßige Lastverteilung und die Verbesserung der Leistung in einer Umgebung mit extrem hoher Auslastung. Eine gleichmäßige Lastverteilung zwischen Anwendungsservern in einem Netz, denen ein Web-Server-Plug-in vorangestellt ist, hilft, die Antwortzeit für Anforderungen zu reduzieren.
Dieses Produkt verwendet die native Workload-Management-Funktionalität (WLM) von z/OS, um den Workload von Anwendungsservern, die für einen
z/OS-HTTP Server der Version 5.3
oder einen IBM® HTTP Server für WebSphere Application Server unter z/OS definiert sind, dynamisch zu verteilen.
Weitere Informationen zum z/OS-HTTP-Server der Version 5.3
finden Sie in der z/OS-Veröffentlichung HTTP
Server Planning, Installing and Using. Informationen zum Produkt IBM HTTP Server für WebSphere Application Server unter z/OS finden Sie in diesem Information Center.
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[IBM i]](../images/iseries.gif)
Gleichmäßige Lastverteilung
Im normalen Betrieb wird der Rückstand anstehender Verbindungen für einen Anwendungsserver unweigerlich anwachsen. Daher hilft eine gleichmäßige Lastverteilung zwischen Anwendungsservern in einem Netz, denen ein Web-Server-Plug-in vorangestellt ist, die Antwortzeit für Anforderungen zu reduzieren.
- Klicken Sie auf .
- Klicken Sie im Abschnitt "Weitere Eigenschaften" auf .
- Wählen Sie für das Feld "Maximale Anzahl an Verbindungen, die der Anwendungsserver bearbeiten kann" aus.
- Geben Sie anschließend im Feld "Verbindungen" die zulässige maximale Anzahl der Verbindungen an.
- Klicken Sie auf und .
Wenn die maximale Anzahl von Verbindungen erreicht ist, überspringt das Plug-in bei der Erstellung von Verbindungen automatisch den Anwendungsserver und greift auf den nächsten verfügbaren Anwendungsserver zu. Sind keine Anwendungsserver verfügbar, wird der Antwortcode HTTP 503 an den Client zurückgegeben. Dieser Code zeigt an, dass der Server derzeit aufgrund einer vorübergehenden Überlastung oder Wartungsarbeiten nicht in der Lage ist, Anforderungen zu verarbeiten.
- Ein Cluster enthält 10 Anwendungsserver.
- In allen Anwendungsservern sind dieselben Anwendungen (d. h. Application_1 und Application_2) installiert.
- Diesem Cluster von Anwendungsservern sind fünf IBM HTTP Server vorgelagert.
- Die IBM HTTP Server rufen Anforderungen über eine Lastausgleichkomponente ab.
- Application_1 benötigt ungefähr 60 Sekunden, um auf eine Anforderung zu antworten.
- Application_2 benötigt ungefähr 1 Sekunde, um auf eine Anforderung zu antworten.
Je nach Anforderungseingangsmuster können alle an Application_1 gerichteten Anforderungen an zwei Anwendungsserver weitergeleitet werden, z. B. Appsvr_1 und Appsvr_2. Wenn die Eingangsrate höher ist als die Verarbeitungsrate, wächst die Anzahl der auf Appsvr_1 und Appsvr_2 anstehenden Anforderungen möglicherweise an.
Schließlich sind Appsvr_1 und Appsvr_2 ausgelastet und können keine weiteren Anforderungen bearbeiten. Normalerweise dauert es lange, von dieser Überlastungssituation zu einem Normalzustand zurückzukehren.
Wenn Sie 2500 Verbindungen verwalten und die Anwendungsserver in diesem Beispiel optimal nutzen möchten, müssen Sie das Attribut für die maximale Anzahl der Verbindungen auf 50 setzen. (Dieser Wert ergibt sich, wenn man die Anzahl der Verbindungen durch das Ergebnis der Multiplikation der Anzahl der Anwendungsserver mit der Anzahl der Web-Server dividiert, in diesem Beispiel 2500/(10x5)=50.)
Das Einschränken der maximalen Anzahl von Verbindungen zu einem Anwendungsserver funktioniert am besten bei Web-Servern, die einen Multithread-Prozess für die Bearbeitung von Anforderungen verwenden.
IBM HTTP Server
verwendet einen Multithread-Prozess zur Bearbeitung von Anforderungen. Es sind keine Konfigurationsänderungen erforderlich.
IBM HTTP verwendet normalerweise mehrere Multithread-Prozess zum Bearbeiten von Anforderungen. Geben
Sie die folgenden Werte für die Eigenschaften in der Konfigurationsdatei des Web-Servers (httpd.conf) an, um zu verhindern, dass
IBM HTTP Server mehr als einen Prozess zum Bearbeiten von Anforderungen verwendet.
ServerLimit 1 ThreadLimit 1024 StartServers 1 MaxClients 1024 MinSpareThreads 1 MaxSpareThreads 1024 ThreadsPerChild 1024 MaxRequestsPerChild 0
Leistung in Umgebungen mit hoher Belastung verbessern
Wenn Sie die Standardeinstellungen für
ein Microsoft Windows-Betriebssystem
verwenden, treten bei der Ausführung in einer Umgebung mit hoher Belastung möglicherweise Leistungsprobleme beim Web-Server-Plug-in auf.
Sie können derartige Probleme vermeiden, indem Sie die
TCP/IP-Einstellung für das Betriebssystem optimieren. Zwei Schlüssel für die Optimierung
sind TcpTimedWaitDelay und MaxUserPort.
- Rufen Sie den Windows-Registrierungseditor auf, und suchen Sie den folgenden Schlüssel:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\tcpip\Parameters\TcpTimedWaitDelay
Wenn dieser Eintrag nicht in Ihrem Windows-Registrierungseditor angezeigt wird, erstellen Sie diesen Eintrag als neues DWORD. - Geben Sie einen Wert zwischen 30 und 300 (Sekunden) einschließlich für diesen Eintrag an. (Es wird ein Wert von 30 Sekunden empfohlen.)
- Rufen Sie den Windows-Registrierungseditor auf, und suchen Sie den folgenden Schlüssel:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\tcpip\Parameters\MaxUserPort
Wenn dieser Eintrag nicht in Ihrem Windows-Registrierungseditor angezeigt wird, erstellen Sie diesen Eintrag als neues DWORD. - Geben Sie für die maximale Anzahl der Ports einen Wert zwischen 5000 und 65534 einschließlich an. (Es wird ein Wert von 65534 Ports empfohlen.)
Weitere Informationen zu diesen Einstellungen finden Sie auf der Microsoft-Website.