Title: Ein Hochleistungs-Webserver auf HPUX
Plattform-spezifische Anmerkungen Date: Wed, 05 Nov 1997 16:59:34 -0800 From: Rick Jones <[EMAIL PROTECTED]> Reply-To: [EMAIL PROTECTED] Organization: Network Performance Subject: HP-UX tuning tipsTuning-Tipps für HP-UX für die Tuning-Seite.
Für HP-UX 9.X: Upgrade auf 10.20
Für HP-UX 10.[00|01|10]: Upgrade auf 10.20Für HP-UX 10.20:
Installieren Sie den aktuellsten ARPA-Transport-Patch. Das erlaubt Ihnen die Konfiguration der Größe der der Hash-Tabelle für die Suchenach TCP-Verbindungen. Die Voreinstellung sind 256 Buckets und muss um das zweifache größer sein. Dies geschieht mit adb für das *disc*-Iimage des Kernel. Der Variablenname ist
tcp_hash_size. Beachten Sie, dass es äußerst wichtig ist, dass SieWzum Schreiben eines 32-Bit-Wertes und nichtwzum Schreiben eines 16-Bit-Wertes nehmen, wenn Sie den Patch für das Platten-Image vornehmen, weil die Variabletcp_hash_sizeein 32-Bit-Wert ist.Wie wird der Wert gewählt? Untersuchen Sie die Ausgabe des Skripts ftp://ftp.cup.hp.com/dist/networking/tools/connhist und stellen Sie fest, wie viele TCP-Verbindungen Ihr System insgesamt hat. Wahrscheinlich sollten Sie diese Anzahl durch die Größe der Hash-Tabelle dividieren, damit sie einigermaßen kein ist (kleiner als 10). Einige allgemeine Einstellungen finden Sie in den SPECweb96-Angaben für HP unter der Adresse http://www.specbench.org/. Schafft ein HP-UX-System 1000 SPECweb96-Verbindungen pro Sekunde, dann bedeutet die
TIME_WAIT-Zeit von 60 Sekunden, dass 60.000 TCP-"Verbindungen" vorliegen.Die Größe der Warteschlange kann mit ftp://ftp.cup.hp.com/dist/networking/misc/listenq ermittelt werden.
Wird der Apache auf einem PA-8000 basierten System ausgeführt, sollte davon ausgegangen werden, das der Befehl
chatr()für den Apache eine große Seitengröße liefert (chatr +pi L <BINARY>). Die GID des ausgeführten Programms mussMLOCK-Rechte haben. Für die Zuweisung vonMLOCKsollteSetprivgrp(1m)zu Rate gezogen werden. Die Änderung kann durch Ausführen von Glance und Untersuchung der Speicherbereiche des (der) Server überprüft werden, um sicherzustellen, dass sie einen nicht trivialen Anteil des Textsegments anzeigen, der gesperrt wird.Wird der Apache auf MP-Systemen ausgeführt, kann in Betracht gezogen werden, ein kleines Programm zu schreiben, das
mpctl()verwendet, um Prozesse an Prozessoren zu binden. Ein einfacherpid % numcpu-Algorithmus reicht wahrscheinlich aus. Der Code kann auch in den Quellcode übernommen werden.Hat jemand Bedenken hinsichtlich der Anzahl der
FIN_WAIT_2-Verbindungen, kann mit nettune der Wert vontcp_keepstartreduziert werden. Dabei ist jedoch Vorsicht geboten, er darf mit Gewisshheit nicht niedriger als 2 bis 4 Minuten sein. Wurdetcp_hash_sizerichtig gesetzt, dann ist es wahrscheinlich in Ordnung, die Timeouts fürFIN_WAIT_2höher zu setzen (vielleicht sogar auf die Vorgabe von 2 Stundne) - sie werden im Durchschnitt keine große Auswirkung auf die Performance haben.Es gibt noch weitere Dinge, die in die Codebasis übernommen werden könnten, was jedoch Gegenstand einer weiteren E-Mail-Nachricht sein soll. Wer interessiert ist, kann mir eine Nachricht schicken.
Mit freundlichen Grüßen
rick jones
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
