Verbindungen verwalten

Caching Proxy erzeugt für die Bearbeitung jeder Clientanforderung einen neuen Thread. Wenn keine Threads verfügbar sind, bewahrt der Proxy-Server die Anforderungen so lange auf, bis wieder Threads verfügbar sind. Mit zunehmender Anzahl aktiver Threads verbraucht der Proxy-Server auch mehr Speicher. Sie legen die maximale Anzahl aktiver Threads mit dem Wert für die Anweisung MaxActiveThreads fest.

Die Einstellung "ListenBacklog" gibt die maximale Anzahl anstehender Anforderungen für Clientverbindungen an, die der Server protokolliert, bevor er Verbindungen mit neuen Clients zurückweist. Legen Sie diesen Wert unter Berücksichtigung der Anzahl von Anforderungen fest, die der Server in wenigen Sekunden verarbeiten kann. Ein Server muss auf eine Clientverbindung reagieren, bevor das Clientzeitlimit abläuft. Geben Sie mit der Anweisung ListenBacklog die maximale Anzahl von Verbindungen an, die aufbewahrt werden soll.

Der Proxy-Server kann persistente Client/Server-Verbindungen verwalten. Bei der Verwendung einer persistenten Verbindung nimmt der Server mehrere Anforderungen des Clients entgegen und sendet seine Antworten über dieselbe TCP/IP-Verbindung. Persistente Verbindungen verringern die Latenzzeit für Clients und die CPU-Last auf dem Proxy-Server und verbrauchen nur geringfügig mehr Systemspeicher. Der Gesamtdurchsatz erhöht sich, wenn der Server nicht für jede Anforderung und Antwort eine gesonderte TCP/IP-Verbindung herstellen muss, und die TCP/IP-Verbindung kann am effektivsten genutzt werden, wenn sie persistent ist.

Durch die Bündelung von Verbindungen (Verbindungs-Pooling) auf Serverseite kommen die Vorteile persistenter Verbindungen auf Serverseite zum Tragen, weil vorhandene Verbindungen zwischen einem Proxy-Server und den Ursprungsservern wiederverwendet werden können. Bei jeder wiederverwendeten Verbindung werden drei TCP-Pakete eingespart (zwei Three-Way-Handshake-Pakete zum Herstellen der Verbindung und eines zum Schließen der Verbindung). Im Folgenden sind einige Vorteile der Bündelung von Verbindungen auf Serverseite aufgeführt:

Anmerkung:
Die Bündelung von Verbindungen wird nur in einer kontrollierten Umgebung empfohlen. In einer Umgebung, in der die Ursprungsserver nicht mit HTTP 1.1 kompatibel sind, könnte sich die Leistung durch die Bündelung von Verbindungen verschlechtern. Außerdem müssen die Ursprungsserver ordnungsgemäß konfiguriert sein. Im Folgenden sehen Sie einen Beispielauszug aus der Konfigurationsdatei von Apache 1.3.19: Diese Einstellungen halten Verbindungen zu den Webservern so lange geöffnet, wie sie verwendet werden, und erlauben dem Proxy-Server, die Verbindungen anstelle des Ursprungsservers zu verwalten. Daher werden die Verbindungen nur in der benötigten Menge im Pool verwaltet.

Wenn die Bündelung von Verbindungen auf Serverseite aktiviert ist, werden HTTP-Verbindungen zu den Ursprungsservern im Pool gespeichert. SSL-Verbindungen werden in Konfigurationen, in denen die Anweisung SSLEnable für den Proxy-Server auf "on" gesetzt ist, ebenfalls im Pool gespeichert.

Sie können den Verbindungspool durch Angabe der folgenden Einstellungen konfigurieren: maximale Anzahl nicht verwendeter Sockets, die pro Server bereitgehalten werden sollen, die Wartezeit für den Server, bevor dieser eine nicht genutzte persistente Verbindung beendet, das Zeitintervall, in dem der Garbage-Collection-Thread den Pool auf verfallene Verbindungen überprüft (das Standardzeitlimit für Verbindungen sind zwei Minuten).

Sie können den Zeitraum definieren, für den verschiedene Verbindungen geöffnet bleiben, indem Sie Werte für die Anweisungen InputTimeout, OutputTimeout, PersistTimeout, ReadTimeout und ScriptTimeout festlegen.

Zugehörige Anweisungen

Mit den folgenden Anweisungen können Sie Verbindungen mit dem Proxy-Server-Prozess verwalten:

Nähere Informationen hierzu finden Sie in Die Datei ibmproxy.conf manuell editieren.

Konfigurations- und Verwaltungsformulare

Mit den folgenden Konfigurations- und Verwaltungsformularen können Sie die Werte der zugehörigen Anweisungen ändern:

Anmerkungen:
  1. Die Anweisungen ServerConnPool, MaxsocketPerServer, ServerConnTimeout und ServerConnGCRun können nicht mit den Konfigurations- und Verwaltungsformularen geändert werden.
  2. Die Anweisung PersistTimeout kann mit dem Formular Serverkonfiguration –> Systemverwaltung –> Leistung und mit dem Formular Serverkonfiguration –> Systemverwaltung –> Zeitlimits geändert werden.

Nähere Informationen hierzu finden Sie in Konfigurations- und Verwaltungsformulare verwenden.