Speicherproblem

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

Speicherproblem

Postby Udo Z. » 19. March 2007 15:28

Moin,

gegeben ist:
ein recht gut besuchtes Wiki (ca. 1,500 Hits/Std) auf einem Strato V-Server (512 MB) mit Apache 2.0.54 mit mod-security, MySQL 5.0.32 und PHP 5.2.1 (mod) unter Debian Sarge, 'administriert' (bin Anfänger) mit Webmin. Die Wiki läuft als Virtual Host (name based).

Apache (prefork) ist für 6 Clients konfiguriert, weil mir das als ein guter Kompromiss (Hits <-> Speicher) erscheint. Pro Client werden während des normalen Betriebes ungefähr 40 MB benötigt. MySQL 'verbraucht' mit den nicht veränderten Default-Einstellungen recht konstant ca. 140 MB. Das Speicherlimit für PHP ist auf 16 MB gesetzt.

Das Problem:
Wenn in der Wiki die Vorschau aktiviert, also der gerade bearbeitete Artikel neu dargestellt wird, schnellt der Speicherbedarf eines Apache-Prozesses kräftigst in die Höhe. Selbst bei kleinen Artikeln werden dann statt der üblichen ca. 40 MB schnell man 200 MB gebraucht. Bei längeren Artikeln können es auch mal 600 MB sein. Das Gleiche passiert zusätzlich auch beim Abspeichern.
Dadurch überschreite ich natürlich die garantierten 512 MB und komme nicht selten an das 1 GB-Limit heran. Wird es überschritten, bricht der Server zusammen -> Reboot.

Meine Fragen:
Warum braucht Apache bei der Vorschau und beim Abspeichern plötzlich soviel Speicher?
Kann ich den Speicher begrenzen und trotzdem noch die Wiki-Funktion erhalten?
Kann ich den Speicherbedarf optimieren? Wenn ja, wie?

Apache2.conf entspricht dem Default nach der Installation mit folgenden, von mir vorgenommenen Änderungen:

TimeOut 300
KeepAlive on
MaxKeepAliveRequests 250
KeepAliveTimeout 5

<IfModule prefork.c>
StartServers 4
MinSpareServers 2
MaxSpareServers 4
MaxClients 6
MaxRequestsPerChild 2000
</IfModule>

Danke im Voraus, Udo
Udo Z.
 
Posts: 2
Joined: 19. March 2007 14:39

Postby KingCrunch » 19. March 2007 17:28

Wenn in der Wiki die Vorschau aktiviert, also der gerade bearbeitete Artikel neu dargestellt wird, schnellt der Speicherbedarf eines Apache-Prozesses kräftigst in die Höhe.
Als Bilder? Oder wie oder was?

Wenn Bilder, dann is das so ungewöhnlich nicht mal, weil die dann scheinbar in PHP dynamisch generiert werden und das Speicher frisst ohne Ende. Ansonsten versteh ich die Situation, in den die Speicherlast umkippt nicht konkret. Irgendwas mit Vorschau oder so ^^


512MB find ich auch etwas seeehr knapp bemessen. <1GB würd ich kein Produktivserver laufen lassen.
Nicht jeder Fehler ist ein Bug ...
KingCrunch
 
Posts: 1724
Joined: 26. November 2005 19:25

Postby Udo Z. » 19. March 2007 18:37

Moin,


KingCrunch wrote:
Wenn in der Wiki die Vorschau aktiviert, also der gerade bearbeitete Artikel neu dargestellt wird, schnellt der Speicherbedarf eines Apache-Prozesses kräftigst in die Höhe.
Als Bilder? Oder wie oder was?


Siehe http://de.wikipedia.org/wiki/Wikipedia:Spielwiese. Dort oben auf "Seite bearbeiten" gehen, dann unten auf "Seite speichern" oder "Vorschau zeigen". Genau dabei passiert es.

Wenn Bilder, dann is das so ungewöhnlich nicht mal, weil die dann scheinbar in PHP dynamisch generiert werden und das Speicher frisst ohne Ende.


Das passiert auch bei Artikeln ohne Bilder, allerdings braucht Apache dafür naturgemäß weniger Speicher.

512MB find ich auch etwas seeehr knapp bemessen. <1GB würd ich kein Produktivserver laufen lassen.


Grundsätzlich ist das wohl richtig. Aber das ist auch eine Geldfrage. Grundsätzlich reichen die 512 MB für den Zweck und für die Zugriffsraten ja aus. Neubewertung, wenn ich weiss, was da konkret passiert und warum der Speicherbedarf 'explodiert' ;-)

Udo
Udo Z.
 
Posts: 2
Joined: 19. March 2007 14:39


Return to Apache

Who is online

Users browsing this forum: No registered users and 6 guests