Apache2 100% CPU bei Netzwerkproblem?

stimpy

New Member
Ahoi!

Ich habe auch einen Rooty in RZ12 von Hetzner. Dort gab es gestern Nacht und heute Probleme, wie auch in einem anderen Thread berichtet wird..

So weit so gut. Was mich jetzt aber sehr wundert:
Sowohl gestern Nacht, als auch heute Morgen, hatte ich auf meinem Server mit einem amok laufenden Apache2-Prozess zu kaempfen. Ganz genau zu den gleichen Uhrzeiten, zu denen es auch die Netzwerk-Probleme bei Hetzner gab.
Gestern Abend dachte ich noch, ich haette das Problem in einem Script von mir identifiziert, habe erstmal lahm gelegt und alles war wieder gut.
Heute Morgen ging's dann von Vorne los: Ein einzelner Apache-Prozess verursacht 100% CPU-Load und verbraucht ~15% meines RAMs.
Leider bleibt mir nie viel Zeit, das genauer unter die Lupe zu nehmen, da ich selbst nicht mehr auf den Server zugreifen kann: Wenn ich zu lange warte, ist alles dicht.
Darum halten sich meine Debug-Infos in Grenzen.. :/

Aber es wundert mich doch schon ganz generell, dass Netzwerkprobleme zu so etwas fuehren koennen..! Was meint Ihr? Zufall oder Methode?

Was ich machen konnte, war die apache-logs im Nachhinein lesen. Da ist aber nicht auffaelliges zu finden: Keine uebermaessige Verbindungsanzahl (wuerde eh automatisch unterbunden werden...), keine verdaechtigen Zugriffe, kein nichts. Liegt halt evtl. auch an der hohen Serverlast, dass er, wenn's so weit war, nicht mehr in's Log schreiben konnte.. Wer weiss..? :/ Es GIBT Log-Eintraege aus der Zeit, aber eben keine verdaechtigen..
Gestern Abend hatte ich eben einen interessanten Eintrag zu einem php-Scriptchen von mir, was rss-feeds auswertet und zu einem neuen zusammenstellt. Das war doof geschrieben und hatte Probleme, einen der Feeds zu laden, weshalb suhosin den php-prozess abgeschossen hat. Eigentlich ja auch nichts schlimmes - hat sein Problem ja selbst geloest..
Heute hab ich aber nichtmal mehr etwas vergleichbares gefunden.

Mein System:
Host: Debian Squeeze
VE: OpenVZ + Proxmox
httpd (in ve): Apache2 2.2.16-6 (+ mod_security2 + mod_bandwidth)
php (in ve): PHP5 5.3.3-7 (+ suhosin patch)

Hetzner EQ4 in RZ12

Vielen Dank schonmal fuer Eure Meinungen und Vorschlaege.. :)

Gruss,
stimpy
 
Soweit meine Erfahrungen dazu, benötigt ein "normaler" Apache Prozess der z.B. nur eine statitsche Seite oder ein Bild ausliefert weder viel Rechenleistung noch viel Speicher.

Da Du selbst geschrieben hast, dass da PHP-Skripte drauf laufen, scheint es mir ein Fehler in einem Script zu sein, was offenbar in einer bestimmten (in der Regel nicht auftretenden) Situation in einer Endlosschleife landet. Beispielsweise ein RSS-News-Feed was versucht einen Feed zu bekommen. Bekomt er den (wie in 99,9% der Fälle) wird der Feed verarbeitet und das Skript beendet. Ist dies aber in einer Schleife geschrieben in der es so lange versuchen soll, bis er es hat und gibt es irgendwelche Netzwerkprobleme, hast Du schon eine Endlosschleife. Solange Du das Problem jedoch nicht gezielt verursachen kannst, wird die genaue Fehlerfindung ziemlich schwer.

In der Regel kann man jedoch die Rechenzeit die ein PHP-Skript zur Verfügung hat über die php.ini begrenzen, so dass solche Amoklaufenden Scripts nach z.B. 30 Sekunden automatisch abgeschossen werden.
 
Back
Top