Ursache für hohe Serverlast finden

07/09/2007 - 16:56 von Hatto von Hatzfeld | Report spam
Hallo!

Auf einem kleinen Produktionsserver (LAMP + Postfix und Amavis unter SuSE
10.2) habe ich derzeit das Problem, dass die Serverlast ab und zu sehr hoch
geht (von normal zwischen 1 und 3 nun bis 20, 30 oder gar 50), bis hin zur
Unbrauchbarkeit.

Ich hatte die verschiedenen kürzlichen Angriffe auf postfix in Verdacht; es
gab tatsàchlich viele connection timeouts und mehrfache Verbindungen von
einzelnen Host - daher habe ich die SMTP-Verbindungen pro Client auf 10
limitiert. Das blieb aber ohne großen Effekt; der Server kommt dennoch
immer wieder in kritische Bereiche. Mit netstat -tn keine übermàßig vielen
Verbindungen finden (oder sind ca. 100 auf Port 25 zu viele?). Mit top
zeigen sich ebenfalls keine Auffàlligkeiten, weder Prozesse mit übergroßem
Ressourcenverbrauch noch sonst etwas, mit Ausnahme natürlich von "load
average".

Wie kann ich weiter nach Ursachen suchen?

Ciao,
Hatto
 

Lesen sie die antworten

#1 Hatto von Hatzfeld
22/09/2007 - 09:45 | Warnen spam
Hatto von Hatzfeld wrote:

Auf einem kleinen Produktionsserver (LAMP + Postfix und Amavis unter SuSE
10.2) habe ich derzeit das Problem, dass die Serverlast ab und zu sehr
hoch geht (von normal zwischen 1 und 3 nun bis 20, 30 oder gar 50), bis
hin zur Unbrauchbarkeit.

[...] Mit top zeigen sich ebenfalls keine Auffàlligkeiten, weder Prozesse
mit übergroßem Ressourcenverbrauch noch sonst etwas, mit Ausnahme
natürlich von "load average".



Für den Fall, dass jemand àhnliche Phànomene feststellt:

Mir scheint, dass die Ursache folgende war: Das Verzeichnis /tmp, dass
in /etc/php5/apache2/php.ini als session.save_path eingestellt war, war so
sehr mit (meist nur 44 Bytes großen) Session-Dateien gefüllt, dass der
Aufruf von "ls -ld /tmp" eine Größe von über 100 MB anzeigte und der Aufruf
von "ls -l /tmp | head" viele Stunden (!) brauchte. Da müssen also einige
100.000 Dateien im Verzeichnis gewesen sein, was den Zugriff wohl doch sehr
verlangsamt.

Warum diese Dateien nicht durch die Garbage Collection von PHP gelöscht
wurden, ist mir unverstàndlich. Ich habe nun session.save_path auf ein
anderes Verzeichnis gelegt, aus dem ein kleines Script regelmàßig alle
àlteren Dateien löscht.

Vielleicht ist diese Information ja auch anderen nützlich. Mein Server làuft
jedenfalls wieder gut.

Ciao,
Hatto

F'Up 2: de.comm.software.webserver

E-Mails sind offen wie Postkarten. Aber nicht mehr mit PGP!
E-Mail-Verschlüsselung leicht gemacht: http://www.gnupp.de/
Mein PGP-Schlüssel 0x2504EF40 auf den Keyservern, z.B. über
http://wwwkeys.pgp.net:11371/pks/lookup?op=get&search=0x2504EF40

Ähnliche fragen