Sie können die Leistung von Caching Proxy merkbar verbessern, indem Sie das System ordnungsgemäß konfigurieren und optimieren. Nachfolgend sind Empfehlungen zur Verbesserung der Konfiguration und zur Optimierung aufgeführt.
Die folgenden Anweisungen wirken sich erheblich auf die Leistung des Proxy-Server-Prozesses aus:
In den folgenden Feldern der Konfigurations- und Verwaltungsformulare können Sie die Werte der zugehörigen Anweisungen ändern:
Überprüfen Sie die Service- und Dämonprozesse, die auf dem System ausgeführt werden, und entfernen Sie die nicht benötigten Prozesse, um Speicher freizugeben und die CPU zu entlasten. Wenn auf dem System beispielsweise ein Webserver ausgeführt wird, der nur wenige Webseiten bereitstellt, sollten Sie in Erwägung ziehen, Caching Proxy als einzigen Webserver einzusetzen. Inaktivieren Sie andere Webserver wie folgt:
Stellen Sie sicher, dass Ihr System über einen ausreichenden Paging-Bereich verfügt, um einen ordnungsgemäßen Betrieb zu gewährleisten. Das System benötigt einen Paging-Bereich, der doppelt so groß ist wie der Arbeitsspeicher. Verteilen Sie den Paging-Bereich, sofern möglich, auf mehrere physische Laufwerke. Beispielsweise ist für einen Server des Typs Netfinity 5000 mit 512 MB Arbeitsspeicher und fünf SCSI-Laufwerken ein Gesamt-Paging-Bereich von 1 GB mit ungefähr 200 MB auf jedem Laufwerk erforderlich.
Caching Proxy erstellt und löscht während seiner Ausführung viele Dateien. Wenn der Proxy-Server Zugriffe protokolliert (im Zugriffsprotokoll, im Proxy-Zugriffsprotokoll oder im Cache-Zugriffsprotokoll), sollte jedem Protokoll ein eigenes Dateisystem zugewiesen werden. Auf diese Weise können Sie verhindern, dass bei einem unerwarteten Anschwellen der Protokolle kein Speicher belegt wird, der für eine andere Funktion vorgesehen ist (z. B. für den Cache).
Caching Proxy reagiert sensibel auf Änderungen der TCP/IP-Konfiguration. Wenn Sie die TCP/IP-Werte in einem Betriebssystem verringern, kann dies ein unerwartetes Verhalten des Proxy-Servers zur Folge haben. Falls zu niedrige TCP/IP-Werte verwendet werden, kann es vorkommen, dass Verbindungen von den Clients, die Verbindungen zum Proxy-Server herstellen, oder vom Ursprungsserver, zu dem der Proxy-Server eine Verbindung aufbaut, zurückgesetzt werden. Dies gilt insbesondere für Clients, die mit niedriger Bandbreite (56700 bps oder weniger) mit dem Proxy-Server verbunden sind. Gehen Sie deshalb vorsichtig vor, wenn Sie die TCP/IP-Parameterwerte herabsetzen müssen.
Das TCP-Warteintervall gibt an, wie lange ein Socket auf ein FIN-Paket vom Sender wartet, bevor er das Schließen der Verbindung erzwingt. In Umgebungen mit hoher Arbeitslast scheint der Proxy-Server zu blockieren, wenn viele Sockets im Status TIME_WAIT verbleiben, nachdem ihre Verbindungen geschlossen wurden. Die Wahl eines kürzeren TCP-Warteintervalls verringert die Anzahl der Sockets im Wartezustand und kann in Umgebungen mit hoher Arbeitslast das scheinbare Blockieren des Proxy-Servers verhindern. Es wird empfohlen, dieses Intervall auf 5 Sekunden einzustellen.
Gehen Sie wie folgt vor, um das TCP-Warteintervall auf 5 Sekunden einzustellen:
Geben Sie den folgenden Befehl ein:
ndd /dev/tcp -set tcp_time_wait_interval 5000
Verwenden Sie das Dienstprogramm "sam", um den Kernel-Parameter max_thread_proc auf 2048 oder höher zu setzen.
Geben Sie die folgenden Befehle ein:
echo "1024 61000" > /proc/sys/net/ipv4/ip_local_port_range echo "5" > /proc/sys/net/ipv4/tcp_fin_timeout
Geben Sie den folgenden Befehl ein:
ndd /dev/tcp –set tcp_time_wait_interval 5000
Öffnen Sie die Datei /etc/system in einem Editor und ändern Sie sie wie folgt:
set tcp:tcp_conn_hash_size=8129
Sie müssen einen Eintrag in der Registrierungsdatenbank erstellen, um das TCP-Warteintervall festzulegen. Nähere Informationen hierzu finden Sie in der Windows-Dokumentation.
Einige Grenzwerte im Linux-Kernel sind niedrig und können geändert werden. Einige Grenzwerte können über das Dateisystem /proc geändert werden, andere erfordern ein erneutes Kompilieren des Kernel.
Anmerkung: Das Dateisystem /proc ist virtuell, d. h., es existiert nicht physisch auf dem Datenträger. Es ist vielmehr eine Schnittstelle zum Linux-Kernel. Da es physisch nicht existiert, gehen Ihre Eingabewerte bei einem Neustart verloren. Daher sollten Änderungen am Dateisystem /proc unter RedHat in der Datei /etc/rc.d/rc.local und unter SUSE in der Datei /etc/rc.config vorgenommen werden. In diesem Fall werden die Änderungen beim Neustart aktiviert.
Im Folgenden sind einige Empfehlungen aufgelistet:
echo 32768 > /proc/sys/fs/file-max
echo 65536 > /proc/sys/fs/inode-max
echo 32768 61000 > /proc/sys/net/ipv4/ip_local_port_range
Wenn Sie den Kernel neu generieren möchten, aktivieren Sie nur Optionen, die Sie wirklich benötigen. Wenn Sie einen bestimmten Dämon nicht benötigen, führen Sie ihn nicht aus.
Auf AIX-Systemen kann die Leistung von Caching Proxy durch Verwendung von System-Threads und mehrerer Heap-Speicher für die Threads verbessert werden. Die Leistung ist von der Mehrprozessorunterstützung des Betriebssystems und der Thread-Planung des Betriebssystems abhängig. Sie können eine Leistungsverbesserung erzielen, indem Sie die Variablen für die Thread-Optimierung unter AIX wie folgt definieren:
export AIXTHREAD_SCOPE=S export SPINLOOPTIME=500 export YIELDLOOPTIME=100 export MALLOCMULTIHEAP=1
Sie können diese Umgebungsvariablen vor dem Starten von /usr/sbin/ibmproxy definieren oder sie der Datei /etc/rc.ibmproxy hinzufügen, wenn Sie den Befehl startsrc -s ibmproxy zum Starten des Proxy-Servers verwenden. Die Leistungsverbesserung wirkt sich am Deutlichsten auf SMP-Systemen aus, aber in einigen Fällen kann sich die Verbesserung auch auf Einzelprozessorsystemen bemerkbar machen.