phpbar.de logo

Mailinglisten-Archive

[php] php4 - unsterbliche httpd-Prozesse

[php] php4 - unsterbliche httpd-Prozesse

Werner Stuerenburg ws_(at)_art-quarter.com
Sat, 07 Oct 2000 10:47:23 +0200


Hi!

Ich habe nun die Pferdezeitung auf einen dedicated Server transferiert.
Vorher haben wir mit php3 gearbeitet, jetzt mit php4.

Der Experte, den ich mit der Einrichtung beauftragt habe, hat die Version
4.0.1. eingerichtet. Laut FAQ sollte man 4.0.2. einsetzen, der wollte aber
nicht nochmal ran und meinte, 4.0.1. sei stabil und funktioniere
einwandfrei.

Nun stellt sich heraus, daß ernsthafte Probleme auftreten, die wir m. W.
vorher nicht hatten. Und zwar treten httpd-Prozesse auf, die erstens 99
Prozent Prozessorleistung fordern und zweitens sich nicht beenden.

So bei ungefähr 20 Prozessen läuft zwar alles wunderbar vor sich hin, die
Domain ist aber dann nicht mehr ansprechbar. Bisher konnte ich mir nur
dadurch helfen, daß ich den Apache neu gestartet habe, bzw. wenn das nicht
mehr ging, die ganze Linux-Box.

Ich habe versucht, dieses Phänomen zu provozieren, indem ich alle möglichen
Aufrufe gestartet habe. Das ist mir nicht gelungen, alles ist vollkommen
locker abgewickelt worden. Ich kann also zunächst einmal nicht sehen, daß in
meinen Programmen ein Fehler verborgen ist.

Ist ein solches Phänomen bekannt? Kann es mit der Version 4.0.1.
zusammenhängen? 
Als kurzfristiger Workaround: kann man einzelne httpd-Prozesse killen, wenn
ja: wie mache ich das? 

Als mittelfristiger Workaround: kann man die Lebensdauer eines
httpd-Prozesses abfragen, mithin einen cron-Job definieren, der regelmäßig
solche Monster abwürgt? 
Zur Fehlerbestimmung: kann man herausfinden, was ein solcher httpd-Prozeß
eigentlich macht?

Top zeigt z. B. folgendes Bild:

  2:26am  up 22:00,  1 user,  load average: 16.06, 16.06, 16.02
69 processes: 50 sleeping, 18 running, 1 zombie, 0 stopped
CPU states: 99.6% user,  0.3% system,  0.0% nice,  0.0% idle
Mem:  127748K av,  66284K used,  61464K free,   3892K shrd,   2636K buff
Swap: 265064K av, 212372K used,  52692K free                  6124K cached

  PID USER     PRI  NI  SIZE  RSS SHARE STAT  LIB %CPU %MEM   TIME COMMAND
 5162 nobody    20   0  7068   20    12 R       0  8.3  0.0  26:51 httpd
 5167 nobody    20   0  153M   24    16 R       0  8.3  0.0  32:24 httpd
 5183 nobody    20   0  7124   20    12 R       0  8.3  0.0  28:04 httpd
 5197 nobody    20   0  7504   20    12 R       0  8.3  0.0  23:10 httpd

Es fällt auch auf, daß auf Dauer der Swap in Anspruch genommen wird, wenn
diese Prozesse auftreten. Außerdem ist signifikant, daß oft SHARE sehr
niedrig ist, allerdings nicht immer:

  PID USER     PRI  NI  SIZE  RSS SHARE STAT  LIB %CPU %MEM   TIME COMMAND
  516 nobody    11   0  9208 9204  1728 R       0 98.4  7.2  20:48 httpd

Hier gibt es nur einen einzigen derartigen Prozeß, deshalb sieht man sehr
schön, wie die CPU in Anspruch genommen wird.

-- 

Mit freundlichem Gruss
Dr. Werner Stuerenburg

_________________________________________________
ISIS Verlag, Teut 3, D-32683 Barntrup-Alverdissen
Tel 0(049) 5224-997 407 · Fax 0(049) 5224-997 409
http://pferdezeitung.de    http://art-quarter.com


php::bar PHP Wiki   -   Listenarchive