we have a problem with apache prefork running all sites on the server as fast-cgi (about 500 Domains). The server was running stable with 4GB RAM until update of plesk.
Since then, apache uses high amount of memory:
The other configuration:
Debian 5.0.3
PLESK 10.3.1
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5
<IfModule mpm_prefork_module>
StartServers 4
MinSpareServers 2
MaxSpareServers 5
MaxClients 100
MaxRequestsPerChild 4000
</IfModule>
Can someone see similar problems? How can I be sure that the configuration is ok? How can I find the memory-problem?
Or maybe that's not a problem of PLESK?
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
Sieht normal aus aber das bringt uns nicht weiter, bitte mal top wieder ausführen wenn der Speicher knapp wird. Du weißt aber das fcgid von Natur aus sehr Speicherhungrig ist? Da wird für jeden Benutzer eine eigene PHP-Umgebung gestartet.
Last edited by jan10001 on 2012-01-09 14:39, edited 1 time in total.
Das System swappt noch nicht, trotzdem eine io von 6%
btw. auf einem System dass keinen engpass auf dem Storage hat, liegt der IO i.d.r. bei unter 1%.
Ich würde vermuten, dass der Storage die iops nicht mehr mit macht.
Möglicherweise sind die Session und damit verbunden temporären Daten das Problem.
Eine Abhilfe könnte ggf. das Auslagern der temp Daten auf eine memfs schaffen.
Möglicherweise wird das Problem jedoch Durch die Datenbank verursacht. dort ist das auslagern der Daten in eine Memorydisk äusserst problematisch.
Last edited by ddm3ve on 2012-01-09 15:04, edited 1 time in total.
02:32:12 21.12.2012 und dann sind Deine Probleme alle unwichtig.
Hauptproblem ist glaube ich auch der grosse Speicherverbrauch der Apache-Prozesse von www-data. Diese lassen das System direkt an die Grenzen geraten. Wenn man einen Prozess mit pmap analysiert, kommen die im ersten Post genannten Speicherwerte als "anon" heraus - wie kann ich dort sehen, warum das reserviert wird? Wie kann ich diesen Wert kleiner bekommen?
@jan1001 Sorry, das sieht nicht normal aus. Die einzelnen Apache-Prozesse sind um Faktor 10 zu fett (auf meinen Büchsen nicht mehr als 15 MB RSS, hier über 200 MB), und die PHP-Prozesse sind auch ungewöhnlich dick. Ein idlender PHP-FastCGI-Prozess sollte etwa um die 5 MB haben, über 10 sollten es nur sein, wenn gerade ein Skript ausgeführt wird.
Für mich sieht das aus, als würde da irgend etwas Memory leaken. Installiert Plesk denn irgendwelche selbst gebastelten Apache- oder PHP-Module?
“Some humans would do anything to see if it was possible to do it. If you put a large switch in some cave somewhere, with a sign on it saying 'End-of-the-World Switch. PLEASE DO NOT TOUCH', the paint wouldn't even have time to dry.” — Terry Pratchett, Thief of Time
Kommt bzw. kam früher darauf an, wie es installiert wurde. auf einem nakten System kam so ziemlich alles von Plesk mit inkl. Apache und php und deren Module / Erweiterungen.
Lediglich wenn die Komponenten vorhanden waren, wurden diese auch so belassen.
Last edited by ddm3ve on 2012-01-14 14:30, edited 1 time in total.
02:32:12 21.12.2012 und dann sind Deine Probleme alle unwichtig.
@daemotron
Nach dem ich mir das genauer angesehen hab stimme ich zu, ich hatte den Gesamtspeicher aus den Augen gelassen.
@OHerrmann
Du hast Apache selbst konfiguiert oder? Normalerweise installiert Plesk das Apache Modul Prefork, bei dir läuft aber nur der Apache. Zudem sind die Module hier auch kein Standart bei Plesk: security2, deflate, unique_id, headers. Ich vermute das security2 und deflate den Apache fett machen. Und vermutlich benutzt du fcgid vom Apache statt das Plesk eigene und hast eventuell bei der Konfiguration nicht aufgepasst. Kann es sein das bei FcgidMaxRequestLen der Wert zu groß ist?
mod_security kann je nach Regelsatz sehr speicherhungrig und bremsend sein, ansonsten sind wie bereits geschrieben mod_php, mod_perl und mod_python weitere unnötige Module, insbesondere da Du ohnehin FastCGI verwendest.
Wie fett sind denn Deine WebApps, beziehungsweise welche (Version?) setzt Du ein?
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
Ich habe bereits mit allen Modulen durchprobiert, diese werden ja auch genau angezeit. An denen liegt es nicht, es ist Speicherbereich, der als Anon markiert wird. Wie komme ich da auf die Spur?
Bei dem Server handelt es sich um einen Server, der von mehreren Leuten genutzt wird, teils über Fcgi, teils über mod_php. Daher brauche ich mod_php schon.
Poste bitte mal den vollständigen Output von `pmap -x PID`, damit sollte sich zumindest das verantwortliche Modul identifizieren lassen. Die exakte Ursache lässt sich damit allerdings nicht finden, dazu muss man dann in den jeweiligen Sourcecode abtauchenn.
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
OK, also ist es der Apache selbst und kein Modul. Man müsste jetzt in den Sourcecode von Apache abtauchen und alle Stellen an denen mmap beziehungsweise malloc genutzt werden auf mögliche Bugs untersuchen. Das können wir in diesem Forum schlicht nicht leisten und daher kann zumindest ich Dir ab diesem Punkt leider nicht mehr weiterhelfen. Tut mir leid :(
Aber stören diese ~210MB wirklich, oder ist es nur Neugier?
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
Was heisst stören :) Wir betreiben als Gruppe 1x Confixx Server, und 2x Plesk. Und da fällt es halt auf, dass das Problem unter Confixx nicht auftritt, wohl aber seit einiger Zeit unter Plesk > 9