Apache2 multiple Prozesse

Alles, was den Apache betrifft, kann hier besprochen werden.

Apache2 multiple Prozesse

Postby skr » 06. August 2008 14:56

Hallo, ich habe mich dazu entschlossen mich intensiver mit Apache2 auseinander zu setzen. Auf meinem Debian habe ich mir selbigen installiert und arbeite mich nun durch die einzelnen Konfigurationsdateien und Module. Einige habe ich eben aktiviert und nach einem Neustart ist mir folgendes aufgefallen:

Code: Select all
root     18269  0.0  0.6  16780  5240 ?        Ss   13:49   0:00 /usr/sbin/apache2 -k start
www-data 18270  0.0  0.3  16916  2896 ?        S    13:49   0:00 /usr/sbin/apache2 -k start
www-data 18271  0.0  0.3  16916  2896 ?        S    13:49   0:00 /usr/sbin/apache2 -k start
www-data 18272  0.0  0.3  16916  2896 ?        S    13:49   0:00 /usr/sbin/apache2 -k start
www-data 18276  0.0  0.3  16916  2896 ?        S    13:49   0:00 /usr/sbin/apache2 -k start
www-data 18277  0.0  0.3  16916  2896 ?        S    13:49   0:00 /usr/sbin/apache2 -k start


Apache forked (?!) in mehrere einzelne Prozesse, kann mir jemand erklären warum? Google war bisher nicht hilfreich.
skr
 
Posts: 3
Joined: 06. August 2008 14:52

Postby deepsurfer » 06. August 2008 19:30

Auf Linux Systemen startet sich der Apache mit bis zu 5 CHILDprozessen damit bei einem Ausfall der nächste CHILDprozess die Anfragen übernimmt.

Bei Windowssystemen sind es zwei Apache Prozesse die dann laufen.

Ist eine art FallBacksystem von Apache, ist seit den Anfängen so.
chirio Deep
Wie sagte einst der MCP aus Tron auf dem Bildschirm zu schreiben Pflegte
" ... end of communication ... "
User avatar
deepsurfer
AF Moderator
 
Posts: 6440
Joined: 23. November 2004 10:44
Location: Cologne
Operating System: Win-XP / Win7 / Linux -Debian

Postby Wiedmann » 06. August 2008 19:59

Auf Linux Systemen startet sich der Apache mit bis zu 5 CHILDprozessen damit bei einem Ausfall der nächste CHILDprozess die Anfragen übernimmt.

Nicht ganz;
Bei dem wohl hier benutzem Prefork-MPM benutzt der Apache für jeden einzelnen (gleichzeitigen) Client-Request eigenen separaten Childprozess.
In der Grundeinstellung startet der Apache dann schonmal 5 Childprozesse für kommende Anfragen im Voraus (bei Bedarf werden dann noch mehr dieser Prozesse gestartet und dann gegebenfalls wieder auf dieses Minmum reduziert).
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby glitzi85 » 06. August 2008 22:09

Wiedmann wrote:Bei dem wohl hier benutzem Prefork-MPM benutzt der Apache für jeden einzelnen (gleichzeitigen) Client-Request eigenen separaten Childprozess.

Ohne Prefork sieht die Prozessliste genauso aus (zumindest bei mir). Woher weisst du dass da ein MPM am Werke ist?

mfg glitzi
User avatar
glitzi85
 
Posts: 1920
Joined: 05. March 2004 23:26
Location: Dahoim

Postby Wiedmann » 06. August 2008 22:36

Woher weisst du dass da ein MPM am Werke ist?

Naja, beim Apache 2.x ist zwangsläufig ein MPM am Werk. Es ist nur immer die Frage welches (Prefork ist das Standard-MPM unter *nix).

Und solage man nichts geändert hat, startet Prefork beim Serverneustart automatisch 5 Childprozesse. Beim Worker wären es z.B. nur 3.

(Das "ps" von oben könnte natürlich auch von einem "worker" mit geänderten Starteinstellungen sein, oder ein Server der schon etwas läuft und Clientprocesse nachgestartet hat)
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby glitzi85 » 07. August 2008 14:06

Gut zu wissen, man lernt doch nie aus :-)

Bedeutet das im Umkehrschluss, dass ich die Prefork-Settings problemlos benutzen kann, obwohl ich prefork nicht ausdrücklich reinkompiliert habe?

mfg glitzi
User avatar
glitzi85
 
Posts: 1920
Joined: 05. March 2004 23:26
Location: Dahoim

Postby Wiedmann » 07. August 2008 15:04

obwohl ich prefork nicht ausdrücklich reinkompiliert habe?

Dann solltest du normal eben dieses haben. Kann man aber über "httpd -l" herausfinden.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby glitzi85 » 07. August 2008 17:26

Tatsächlich, prefork.c ist drin. Na dann werd ich mal die prefork-Doku wälzen und sehen ob ich da noch was optimieren kann. Vielen Dank.

mfg glitzi
User avatar
glitzi85
 
Posts: 1920
Joined: 05. March 2004 23:26
Location: Dahoim


Return to Apache

Who is online

Users browsing this forum: No registered users and 11 guests