Apache schluckt zu viel RAM.... glaub ich
Posted: 2009-11-04 01:44
Hallo,
bin noch ein Anfänger, und deshalb noch nicht so sonderlich bewandert. Deshalb bitte ich um etwas Nachsicht.
Jedenfalls hab ich mir nen Debian-Lenny-Webserver gestrickt, auf dem nun Apache 2.2.9 läuft. Das Dingen hat 1GB RAM.
Der Apache-Root-Prozess braucht ca 11800kB, die Unterprozesse zwischen 7750kB und 8600kB.
Ausserdem zieht sich der Apache-Prozess mal eben 250MB Shared Memory.
Wenn ich das richtig kapiert habe, braucht der Webserver ja für jede gleichzeitige http-Anfrage von Clients einen Kindprozess - richtig?
Folgende Module sind eincompiliert:
core
mod_log_config
mod_logio
prefork
http_core
mod_so
Über das Verzeichnis "mods-enabled" werden noch eingebunden:
alias, auth_basic, authn_file, authz_default, authz_groupfile, authz_host, authz_user, autoindex, deflate, dir, env, mime, negotiation, php5, setenvif.
Dass PHP5 ein Modul ist, das relativ viel RAM braucht, ist mir klar, aber das brauch ich nunmal.
In der apache2.conf steht noch folgendes:
ifModule mpm_prefork_module
StartServers 10
MinSpareServers 10
MaxSpareServers 30
MaxClients 100
MaxRequestsPerChild 5000
sowie:
ifModule mpm_worker_module
StartServers 10
MaxClients 100
MinSpareThreads 10
MaxSpareThreads 40
ThreadsPerChild 25
MaxRequestsPerChild 0
So, ich hoffe ich hab nun alle für die Speicherbelegung relevanten Daten gepostet.
Meine Fragen:
Ist diese Prozessgrösse normal? Mir kommt das recht viel vor. Sind irgendwelche Module überflüssig?
Mir ist klar, dass ich durch StartServers und die SpareServer beeinflussen kann, wieviel RAM der Apache im Leerlauf zieht. Aber mir gehts nich darum, daß der Apache möglichst wenig RAM beansprucht (weils n Webserver ist, soll er den RAM gerne haben), aber ich will, dass er den RAM dann auch effizient nutzt (also möglichst schlank ist) und schnell läuft, damit der Karren auch n bisschen was aushält.
Wieviel RAM schluckt ein Kindprozess bei nem schlanken Apache inkl PHP5-Modul?
Also für Verschlankungs- bzw.- Effizienztips wär ich dankbar! (sofern diese Speicherbelastung pro Kindprozess zu hoch sein sollte. vielleicht ists ja auch gut so, das weiss ich ja nicht - aber mir kommts halt viel vor).
Vielen Dank vorab!
Gruß
Markus
bin noch ein Anfänger, und deshalb noch nicht so sonderlich bewandert. Deshalb bitte ich um etwas Nachsicht.
Jedenfalls hab ich mir nen Debian-Lenny-Webserver gestrickt, auf dem nun Apache 2.2.9 läuft. Das Dingen hat 1GB RAM.
Der Apache-Root-Prozess braucht ca 11800kB, die Unterprozesse zwischen 7750kB und 8600kB.
Ausserdem zieht sich der Apache-Prozess mal eben 250MB Shared Memory.
Wenn ich das richtig kapiert habe, braucht der Webserver ja für jede gleichzeitige http-Anfrage von Clients einen Kindprozess - richtig?
Folgende Module sind eincompiliert:
core
mod_log_config
mod_logio
prefork
http_core
mod_so
Über das Verzeichnis "mods-enabled" werden noch eingebunden:
alias, auth_basic, authn_file, authz_default, authz_groupfile, authz_host, authz_user, autoindex, deflate, dir, env, mime, negotiation, php5, setenvif.
Dass PHP5 ein Modul ist, das relativ viel RAM braucht, ist mir klar, aber das brauch ich nunmal.
In der apache2.conf steht noch folgendes:
ifModule mpm_prefork_module
StartServers 10
MinSpareServers 10
MaxSpareServers 30
MaxClients 100
MaxRequestsPerChild 5000
sowie:
ifModule mpm_worker_module
StartServers 10
MaxClients 100
MinSpareThreads 10
MaxSpareThreads 40
ThreadsPerChild 25
MaxRequestsPerChild 0
So, ich hoffe ich hab nun alle für die Speicherbelegung relevanten Daten gepostet.
Meine Fragen:
Ist diese Prozessgrösse normal? Mir kommt das recht viel vor. Sind irgendwelche Module überflüssig?
Mir ist klar, dass ich durch StartServers und die SpareServer beeinflussen kann, wieviel RAM der Apache im Leerlauf zieht. Aber mir gehts nich darum, daß der Apache möglichst wenig RAM beansprucht (weils n Webserver ist, soll er den RAM gerne haben), aber ich will, dass er den RAM dann auch effizient nutzt (also möglichst schlank ist) und schnell läuft, damit der Karren auch n bisschen was aushält.
Wieviel RAM schluckt ein Kindprozess bei nem schlanken Apache inkl PHP5-Modul?
Also für Verschlankungs- bzw.- Effizienztips wär ich dankbar! (sofern diese Speicherbelastung pro Kindprozess zu hoch sein sollte. vielleicht ists ja auch gut so, das weiss ich ja nicht - aber mir kommts halt viel vor).
Vielen Dank vorab!
Gruß
Markus