Hoher Memory Load bei Apache2 Prefork und mehreren vHosts

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

Hoher Memory Load bei Apache2 Prefork und mehreren vHosts

Postby richi180483 » 22. July 2009 09:29

Hallo, ich habe in Problem, mein Apache2 braucht fast den gesamten RAM des vServers, und bei jeden weiteren vHost den ich anlege, wird es mehr.

siehe Bild.

Geconfigt ist es mir Prefork und hat PHP5 als Modul, suexec ist auch geconfigt, bin mir aber nicht sicher ob das überhaupt funktioniert.

meine apache2.conf für mod_mpm_prefork (unter /etc/apache2) sieht wie folgt aus:

StartServers 2
MinSpareServers 3
MaxSpareServers 5
ServerLimit 20
MaxClients 10
MaxRequestsPerChild 0


openssl ist eben drauf und einige Websites (bis auf eine) arbeiten mit einer key Datei, für die 2. websites gibts eine eigene IP mit Offiziellem Zertifikat.

Ich hoffe, mir kann jemand helfen.

lg Erich

Image
richi180483
 
Posts: 5
Joined: 22. July 2009 09:21

Re: Hoher Memory Load bei Apache2 Prefork und mehreren vHosts

Postby Xardas der Dunkle » 22. July 2009 09:48

Geconfigt ist es mir Prefork und hat PHP5 als Modul, suexec ist auch geconfigt, bin mir aber nicht sicher ob das überhaupt funktioniert.

Wofür brauchst du suexec wenn du php als modul laufen lässt?

StartServers 2
MinSpareServers 3
MaxSpareServers 5
ServerLimit 20
MaxClients 10
MaxRequestsPerChild 0

Schraub die Einstellungen runter, so das nur noch 1 Child Process läuft.

Geh nochmal in top drück > (SHIFT und die Taste wo > drauf ist ;) ), dann sollte die Liste nach dem Mem-Verbrauch sortiert werden.
Augenscheinlich verbrauchen alle deine Prozesse ziemlich viel Speicher.

Poste mal deine /proc/user_beancounters falls vorhanden.
User avatar
Xardas der Dunkle
 
Posts: 482
Joined: 09. March 2008 19:40
Location: /var/www

Re: Hoher Memory Load bei Apache2 Prefork und mehreren vHosts

Postby richi180483 » 22. July 2009 10:14

Hallo, danke für deine schnelle Antwort, ich hoffe du kannst mir helfen:

Die user_beancounters sieht wie folgt aus:

Code: Select all
Version: 2.5
       uid  resource           held    maxheld    barrier      limit    failcnt
      170:  kmemsize        6782298   12479319 2147483646 2147483646          0
            lockedpages           0          0     999999     999999          0
            privvmpages       69115     101281      85248      85248        229
            shmpages           8448       8871      42752      42752          0
            dummy                 0          0          0          0          0
            numproc              76        100     999999     999999          0
            physpages         28564      45357          0 2147483647          0
            vmguarpages           0          0      42752 2147483647          0
            oomguarpages      28564      45357      42752 2147483647          0
            numtcpsock           17         36    7999992    7999992          0
            numflock             16         23     999999     999999          0
            numpty                1          1     500000     500000          0
            numsiginfo            0         21     999999     999999          0
            tcpsndbuf        176644     764336   35022848  217049088          0
            tcprcvbuf        278528     598204   35022848  217049088          0
            othersockbuf     253832     730596   35022848  217049088          0
            dgramrcvbuf           0       9592   35022848  217049088          0
            numothersock        137        180    7999992    7999992          0
            dcachesize            0          0 2147483646 2147483646          0
            numfile            2467       2939   23999976   23999976          0
            dummy                 0          0          0          0          0
            dummy                 0          0          0          0          0
            dummy                 0          0          0          0          0
            numiptent            10         10     999999     999999          0



Die Einstellungen unter apache2.conf hab ich mal wie folgt geändert:

Code: Select all
    StartServers                1
    MinSpareServers             1
    MaxSpareServers             5
    ServerLimit                 5
    MaxClients                  5
    MaxRequestsPerChild         0



Bringt aber nicht viel unterschied.
MEM dennoch bis oben hin voll.
suexec habe ich entfernt (funktioniert auch ohne dem Modul ;-))

hab die TOP ausgabe nach MEM sortiert, sieht jetzt so aus:

Image

lg Erich
richi180483
 
Posts: 5
Joined: 22. July 2009 09:21

Re: Hoher Memory Load bei Apache2 Prefork und mehreren vHosts

Postby Xardas der Dunkle » 22. July 2009 10:42

Schraub mal die Anzahl der geladenen Apache Module auf ein Minimum runter.
Also lade nur die Module die du wirklich benötigst.

Bei mir benötigt, der Apache ca. 0.3% Mem. Wobei mein vServer scheinbar etwas mehr Arbeitsspeicher zur Verfügung hat. Dafür liegen bei dir die Barriers ziemlich hoch. Und das bei 170 vServern auf der Kiste o_O (Oder hat der Admin bei der Vergabe der Nummer geschlampt)?

MySQLd kannst du auch etwas runterdrücken. Ich suche mal ob ich den Link dazu finde.
Z.B. kann man falls nicht benötigt andere Datenbanksystem wie InnoDB deaktivieren.
User avatar
Xardas der Dunkle
 
Posts: 482
Joined: 09. March 2008 19:40
Location: /var/www

Re: Hoher Memory Load bei Apache2 Prefork und mehreren vHosts

Postby richi180483 » 22. July 2009 11:33

Hallo, habe jetzt alles an Modulen entladen, was nicht benötigt wird, hat aber absolut keine Auswirkung auf den Speicher.
Woran das wohl liegen kann. Vielleicht einfach ein schlechter vServer?

Wäre dir echt für mehrere Tips und Tricks dankbar.

glg
richi180483
 
Posts: 5
Joined: 22. July 2009 09:21

Re: Hoher Memory Load bei Apache2 Prefork und mehreren vHosts

Postby Nobbie » 22. July 2009 11:57

Ich frage mal anders herum:

Welches Problem taucht denn auf? Speicher ist ja zunächst mal zum Benutzen da, sonst könnte man ihn ja ausbauen. Nur konkrete Probleme sollte man ggf. lösen, die Nutzung von RAM ist aber kein Problem.
Nobbie
 
Posts: 8767
Joined: 09. March 2008 13:04

Re: Hoher Memory Load bei Apache2 Prefork und mehreren vHosts

Postby richi180483 » 22. July 2009 12:04

Hy, der Speicher läuft total voll, und wenn er dann zuhoch oben ist, dann funktionieren einige PHP Script nicht mehr, weil eben nicht mehr genug speicher zur verfügung steht. Ich kann mich dann auch nicht mehr über SSH einloggen, dann bleibt nur noch der weg zur Verwaltungsoberfläche und ein Neustart, das musste ich gestern 3x Täglich machen, das ist lässtig, daher möchte ich den Speicherverbrauch reduzieren, damit das nicht mehr notwendig ist, 1x pro Tag wird der Server ohnehin neu gestartet. lg
richi180483
 
Posts: 5
Joined: 22. July 2009 09:21

Re: Hoher Memory Load bei Apache2 Prefork und mehreren vHosts

Postby Xardas der Dunkle » 22. July 2009 12:17

Wie viel Speicher hat die Kiste den? Der Ausgabe von Top nach würde ich auf irgendwas mit 300 tippen o_O.
Und das ist echt ziemlich wenig.
User avatar
Xardas der Dunkle
 
Posts: 482
Joined: 09. March 2008 19:40
Location: /var/www

Re: Hoher Memory Load bei Apache2 Prefork und mehreren vHosts

Postby richi180483 » 22. July 2009 12:30

Hy, 333 MB, vServer eben. Laut Anbieter so:

Arbeitspeicher maximal 400 MB
Ram garantiert 200 MB

lg Erich
richi180483
 
Posts: 5
Joined: 22. July 2009 09:21

Re: Hoher Memory Load bei Apache2 Prefork und mehreren vHosts

Postby Xardas der Dunkle » 22. July 2009 17:42

Oh Gott und dann wunderst du dich, das der RAM voll läuft?
Kannst du vergessen. Zumindest mit dem Apache. Außer du kompilierst dir den Apache selber und kompilierst direkt alle benötigten Module hinein. Oder versucht dich direkt an einem anderem Webserver wie lighthttpd oder ngingx.

Mein Tipp, gib lieber etwas mehr Geld aus für den Server. Ich selbst habe einen 756MB RAM (1024 MB Flexi-RAM, was auch immer das heißen soll) vServer, das ist zum Teil schon zu wenig.
User avatar
Xardas der Dunkle
 
Posts: 482
Joined: 09. March 2008 19:40
Location: /var/www


Return to Apache

Who is online

Users browsing this forum: No registered users and 2 guests