V-Server mit Apache Out-Of-Memory / user_beancounters

Sunshine1

New Member
Hallo,

kann mir bitte jemand weiter helfen?

Ich habe bisher für meine Webseiten einen V-Server mit 512MB RAM / 512MB SWAP und Debian 6 verwendet mit folgenden Einstellungen:
KeepAlive Off
StartServers 1
MinSpareServers 1
MaxSpareServers 1
MaxClients 20
MaxRequestsPerChild 0

Max Clients habe ich dabei vom Wert 25 ausgehend so lange verkleinert bis über längere Zeit keine Out-Of-Memory-Meldung mehr bekam. Der erreichte Wert 20 ist also der Grenzwert.

Nun steige ich mit derselben Webseite auf einen anderen V-Server mit 1024MB RAM / 1024MB SWAP und Ubuntu 14 um. Und obwohl ich nun den doppelten Speicher habe, bekomme ich mehrmals täglich Out-Of-Memory-Einträge in den Logs.
Die Apache-Einstellungen sind dieselben wie oben (nur MaxClients heißt ja jetzt MaxRequestWorkers, Funktion unverändert).

Der Support meines Hosters gab mir den Tip, mal user_beancounters anzusehen und MaxRequestWorkers anzupassen. Ich hab jetzt mal user_beancounters beider V-Server verglichen und folgende markante Zeilen mit Failcounts entdeckt:

Code:
Alter V-Server ohne Out-Of-Memory-Meldung:
resource           held    maxheld    barrier      limit    failcnt
kmemsize        4890612   60174336   15603673   25068672          0
privvmpages       34951     267264     262144     267264         46
othersockbuf     145656     742680     743279    2791279       1194

Neuer V-Server mit Out-Of-Memory-Meldung:
resource           held    maxheld    barrier      limit    failcnt
kmemsize       10024059   16568320   15603673   25068672          4
privvmpages      168137     225670     262144     267264          0
othersockbuf     173400     521608     743279    2791279          0

Erkenntnis: Der alte V-Server hatte zwar keine Out-Of-Memory-Fehler, dafür aber andere bzgl. privvmpages und othersockbuff. Diese sind mir jedoch beim Aufruf der Webseite nie negativ aufgefallen.


Meine Fragen:
1. Was bedeuten privvmpages und othersockbuf und welche Auswirkungen hat das dortige Auftreten von Fehlern auf die aufgerufenen Webseiten? Google brachte mir leider keine für Möchtegern-Administratoren verständliche Erklärung.

2. Ist es in Ordnung, dass für kmemsize bei beiden V-Server die Werte für barrier und limit gleich groß sind, obwohl der neue V-Server doppelt so viel RAM hat?

3. Welche Konfigurationsunterschiede könnten der Grund sein, dass der alte V-Server mit MaxClients=20 Failcounts für privvmpages und othersockbuf bekommt, und der neue V-Server nicht, dafür aber Failcounts bei kmemsize?

4. Welche Möglichkeiten gibt es, den neuen Server besser zu konfigurieren ohne MaxRequestWorkers (früher MaxClients) auf einen kleineren Wert als den bisher genutzen Wert 20 zu setzen? Ich möchte letztlich einen Vorteil vom doppelten Speicher haben und nicht auch noch die Anzahl der Zugriffe verringern müssen.

5. Ich habe während meiner Suche nach Antworten Berichte in Foren gefunden in denen die Admins bei 1GB RAM einen Wert von 100 oder gar 150 für MaxRequestWorkers angeben. Kann das sein? Was mache ich dann falsch, wenn bei mir nicht mal ein Wert von 20 funktioniert?

6. Bin ich auf dem richtigen Weg? Zeigt user_beancounters überhaupt mein Problem auf. Oder müsste ich ganz andere Themen analysieren? Wo muss ich hinsehen?

Zusatzinfos zu den beiden V-Servern:
Der alte Debian 6 Server war ein LAMP-Server, also möglicherweise bereits mit optimierter Konfiguration.
Der neue Ubuntu 14 Server enthält eine nicht groß angepasste Standardinstallation.
Auf beiden Servern läuft: apache2, prefork, mysql, postfix, openssl, vsftp, php5, libsasl2, php5-curl, logcheck, fail2ban

Danke im voraus für Eure Antworten!
 
Last edited by a moderator:
Back
Top