Apache2 auf Debian trifft regelmäßig ein Überlastgau

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

Apache2 auf Debian trifft regelmäßig ein Überlastgau

Postby chelfi » 23. April 2006 20:07

nachdem ich das halbe Forum schon durchgelesen habe und noch nichts gefunden habe, was mir bei meinem Problem weiterhilft, versuche ich mal das Problem zu beschreiben.
Ich betreibe eine kleine aber (hoffentlich) feine Fan Seite auf einem dediziertem Server, auf dem noch ein paar andere für die Performance unbedeutenden Seiten (vhosts, Plesk) liegen.
Der Server ist ein PIV mit 512MB Ram mit Debian 3.1 (Kernel 2.6.8-2-386) mit Apache2. Jetzt läuft alle paar Wochen in den Medien eine für mich günstige Berichterstattung, so daß sich in diesen Tagen die Zugriffzahlen drastisch erhöhen. Das geht soweit, daß der Server dann für mehrere Stunden gar nicht mehr erreichbar ist. Ich habe jetzt herausgefunden, daß er sich je nach den Einstellungen in der apache2.conf einfach totstellt (bei zu kleiner Zahl von Maxclients macht er einfach dicht und bietet alle anderen Dienste außer http noch weiterhin an, selbst https funktioniert einwandfrei) oder er bricht total zusammen (Maxclients auf 256, Timeout auf 7). Dabei wird die Swappartition von 1GB voll beschrieben (laut top) und der Server reagiert auf nichts mehr.
Die Zugriffszahlen liegen laut Log bei etwa 9000 an diesem Tag, meinem Gefühl nach wären es erhebblich mehr, wenn der Server mitspielen würde, da die Hauptlast nur an wenigen Stunden des Tages auftritt.
Die entsprechende Seite habe ich jetzt ganz spartanisch als HTML-Seite ausgeführt (nur noch 2kB), um jegliche Last vom MySQL Server auszuschließen.
Habe ich eine Chance, den Server so zu konfigurieren, daß er den Andrang schafft? Muß ich aufrüsten? Hilft mir evtl. ein Loadbalancer und hat damit evtl. jemand Erfahrungen?
chelfi
 
Posts: 3
Joined: 23. April 2006 19:17

Postby semtex » 23. April 2006 22:01

Auch einen gut konfigurierten Server solltest du mit diesen Zugriffszahlen bzw. Lastspitzen im Arbeitsspeicher aufrüsten.

Mit zu wenig RAM und den vielen Requests die bei der Maschine ankommen, wird der Apache immer die Prozesse im Swapbereich auslagern..
Was aber ein Bummerang ist, weil die jetzt langsame Maschine versucht die noch ausstehenden Requests mit Erhöhung der Serverprozesse abzuarbeiten. Was den Server aber immer weiter in den Swap treibt, bis er komplett aussteigt..

Das wird wohl das Problem sein !? Ausserdem würde bei einem so starken Tag wenn bei Dir der Bär tobt den Server mal so betreiben :

MaxClients 400
StartServers 400
MaxSpareServers 400
MinSpareServers 400

Allerdings kann man mit einem schlanken und gut konfigurierten Apachen ein ganze Menge abfangen. Schon so kleine Tricks wie das umleiten der Logs nach /dev/null , sofern nicht benötigt und das deaktivieren des Hostnamen Lookups bringt schon eine Menge.

Man kann eine Menge machen, es geht aber nichts um ausreichend viel Arbeitsspeicher.
semtex
 
Posts: 57
Joined: 12. April 2006 16:41

Postby chelfi » 24. April 2006 08:05

Hallo,

erstmal vielen Dank für die prompte Antwort.
Ist nicht zu erwarten daß mit den von dir vorgeschlagenen Einstellungen der Server sich total zurammelt? wenn er bei 256 schon total em Ende ist und mit 180 dann eine leichte Besserung eintrat? Ich werde das aber auf jeden Fall mal ausprobieren. Leider weiß ich nicht wie ich meinen Provider überreden soll, da noch einen RAM-Riegel reinzustöpseln, ich hatte da schon mal nachgefragt und da wurde mir lapidar gesagt, "nehm doch das nächstgrößere Modell, kostet dann aber gleich doppelt soi viel, der hat dann 1024MB". Reichen 1GB insgesamt denn aus? Nach meinen laienhaften Hochrechnungen müßten es ja schon mindestens 2GB RAM sein, oder?
chelfi
 
Posts: 3
Joined: 23. April 2006 19:17

Postby chelfi » 04. May 2006 14:01

Hallo,

wenn ich die Werte so setze wie vorgeschlagen (MaxClients 400 ...) dann bekomme ich eine Warnung beim Neustart des Apache:
WARNING: MaxClients of 400 exceeds ServerLimit value of 256 servers,
lowering MaxClients to 256. To increase, please see the ServerLimit
directive.

Was kann ich damit anfangen?
chelfi
 
Posts: 3
Joined: 23. April 2006 19:17


Return to Apache

Who is online

Users browsing this forum: No registered users and 2 guests