Sehr viele Prozesse mit PHP-FCGI

casper99

New Member
Hi Leute,

ich habe meinen Debian Sarge Server mit PHP-FCGI installiert (auf Apache 2)
(laut der Anleitung de:howtos:sarge:apache2_php-fcgi [Debianhowto.de])
Der Server läuft damit auch schon ca. seit 1 Jahr gut und stabil.

Ich hoste momentan ca. 10 verschiedene Seiten.
Jeder User forkt also seine eigenen PHP-FCGIs.
Momentan erzeugen 5 User schon ca. 73 PHP Prozesse
Jeweils 1 Hauptprozess mit 4 Kindprozessen.

Jetzt meine Frage: Wenn ich 100 User habe,
dann befürchte ich, daß die Anzahl auf über 1000 Prozesse ansteigt.

Wieviel verkraftet das System?, ist dies überhaupt sinnvoll?
Momentan langweilt sich der Server vor sich hin,

Code:
top - 19:02:47 up 14 days,  7:38,  1 user,  load average: 0.00, 0.01, 0.00
Tasks: 157 total,   2 running, 155 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.3% us,  0.0% sy,  0.0% ni, 99.7% id,  0.0% wa,  0.0% hi,  0.0% si
Mem:   1035024k total,   662592k used,   372432k free,    28656k buffers
Swap:  1951800k total,        0k used,  1951800k free,   346704k cached
 
Hi,

wie hast du denn denn das apache-mpm-modul konfiguriert?
Dort kannst Du ja anlegen wieviele Prozesse vom apache-server erzeugt werden sollen/dürfen und wieviele threads jeder prozess haben soll.

Also dieser Config-Block irgendwo in deinen configs:
Code:
<IfModule mpm_worker_module>
    StartServers          2
    MaxClients          150
    MinSpareThreads      25
    MaxSpareThreads      75 
    ThreadsPerChild      25
    MaxRequestsPerChild   0
</IfModule>

Was vorallem interessant ist, ist die Einstellung StartServers und ThreadsPerChild.
Pro Server (2) werden also 25 Threads erzeugt, und jeder Thread bekommt AFAIK einen eigenen php-prozess (also hier max 50).
Wenn Du also einfach die Anzahl der Prozesse und threads auf z.B. 100 begrenzt, sollten auch nie mehr als 100 php-prozesse erzeugt werden.

[alle Angaben ohne Gewähr]

Gruß
 
Back
Top