• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Ressourcen sparen auf vServer

Hallo Leute,

vergangene Tage habe ich mir einen vServer Entry bei Server4you gemietet. Das ist der kleinste und günstigste aus der vServer-Serie, denn ich wollte lediglich ein Testsystem das unter echten Bedingungen läuft. Stehe jetzt aber vor folgendem Problem:

Auf dem vServer werden meine verfügbaren Ressourcen eingeschränkt, neben RAM und CPU-Leistung auch die Anzahl gleichzeitig offener Dateien. Mit meiner installierten Software habe ich diesen Rahmen wohl gesprengt. Es läuft Apache2 mit PHP5, Postfix, Dovecot, MySQL, amavisd-new, clamav, SpamAssassin, postgrey und policyd-weight.

Was ich suche, sind Mittel und Wege diese Dienste entsprechend zu kastrieren, damit das alles trotzdem unter den gebotenen, zugegebener Maßen etwas schwierigen Bedingungen läuft.

Gruß Christian
 
Naja, mit dieser Antwort habe ich irgendwie gerechnet. Aber da weiss ich ja auch nicht, wo da die Grenzen liegen. Ich möchte außerdem das Preissegment bis 10 Euro nicht überschreiten, da der Server wirklich reine Testumgebung ist, und nicht produktive Arbeit leisten muss. Außerdem verbietet mir das mein Ehrgeiz, es doch irgendwie hinzubekommen ;-)

Ich denke ich fange erstmal an, die Anzahl der Prozesse vom Apache2 zu reduzieren. Selbes mit Postfix und Dovecot wenn möglich.

Ich weiss nur nicht so recht, an welchen "Schrauben" man da drehen muss, nachher dreh ich den falschen Hahn zu, womit ich dann im Endeffekt ja auch nix gewonnen habe.

Gruß Christian
 
Zuerst sollte man mal wissen was der vServer fuer eine Leistung dir zu verfuegung stellt, also das Minimum. Dann wuerde ich gerne wissen wie du den darauf kommst das dein Server ueberlastet bzw. voll ausgelastet ist. Mit was und wie hast du z.B. den RAM verbrauch beobachtet und welcher Wert hast du genommen. Was fuer ein System d.h. welche Distribution rennt den ueberhaupt auf dem Server und was soll er eigentlich alles koennen. Wenn ich lese amavisd, clamav, SpamAssassin sind das doch alles Dinge die man auch auf dem Desktop Rechner zuhause laufen lassen kann und nicht unbedingt auf einem Server braucht, so sehe ich das jedenfalls da gerade die gerne Leistung bzw. Ressourcen fressen. Viele Fragen, nun warten wir auf die Antworten.

Ganz gute vServer hat derzeit Starto, dort ich glaube fuer ca. 8,80 Euro oder so im Monat.
 
Hallo OnkelchenTobi,

festgestellt habe ich das Problem anhand der Fehlermeldung "Too many open files in system" in /var/log/mail. Außerdem kann man die vorgegebenen sowie die tatsächlichen Werte in /proc/user_beancounters nachsehen. Des weiteren konnte mir die Hotline meine Vermutung bestätigen.

Eingesetztes Betriebssystem ist Debian Etch. In meinem Fall gehört solche Software wie amavis und co. schon auf den Server, denn das ganze soll ein zentraler Filter sein. Wenn das Setup wie ich es hier teste mal bei einem Kunden Einsatz finde sollte, der z.B. eine Firma mit 50 Mitarbeitern hat möchte man sowas zentral steuern können, zu mal das ganze unter Windows Clients schon zum Problem wird.

Die Strato vServer gucke ich mir trotzdem mal an.

Edit:

RAM hat der Server 256MB fest, bis zu 512MB dynamisch. Prozessorleistung lässt sich nicht so genau sagen. Das Hostsystem hat 2x Intel Xeon 3.2 GHz. Im Grunde dreht sich mein Problem aber nur um die offenen Files.

Gruß Christian
 
ceegee schrieb:
Wenn das Setup wie ich es hier teste mal bei einem Kunden Einsatz finde sollte

Das muss man erst einmal wissen!

Es geht dann wohl in erster Linie darum herrauszufinden wer so viel offen hat. Ich gehe hier mal sehr start von Postfix aus, hast du mal geschaut wer der Uebeltaeter ist?
Du kannst hierzu "lsoft" verwenden.

Anzeigen wie viele gerade im gesamten offen sind sollte z.B. so gehen "lsof | wc -l"

Der Linux Kernel hat ein Limit fuer die Anzahl gleichzeitig offener
files.

In "/proc/sys/fs/file-max" sollte ein Wert stehen, dieser ist?
 
Hi,

hier ein paar Werte:

Code:
mail:~# lsof -n | grep -oE '^[a-z]+' | sort | uniq -c | sort -n
      7 klogd
      8 logger
      9 init
      9 uniq
     10 grep
     13 atd
     14 bash
     14 cron
     16 dccifd
     18 sort
     22 lsof
     22 ntpd
     24 syslogd
     26 pickup
     26 python
     26 qmgr
     27 nscd
     29 tlsmgr
     31 freshclam
     32 clamd
     67 sshd
     81 policyd
     89 mysqld
    100 imap
    125 master
    128 dovecot
    155 amavisd
    741 apache

Code:
mail:~# free -m
             total       used       free     shared    buffers     cached
Mem:           512        305        206          0          0          0
-/+ buffers/cache:        305        206
Swap:            0          0          0

Code:
mail:~# cat /proc/user_beancounters
Version: 2.5
uid   resource   held   maxheld   barrier   limit     failcnt
       numfile     2261  3008         3008     3008    2991

Code:
mail:~# cat /proc/sys/fs/file-max
524288

Gruß Christian
 
Hm... ja 741 apache ist recht viel bei nur 3008. du hast geschrieben das du PHP verwendest, dann wuerde ich da mal anfangen zu suchen. Schau mal bez. php.ini nach sowas wie memory_limit.

Dann mal nur so eine Frage, wo ist eigentlich die swap ?
 
Hi,

was fuer ein MPM hast du denn laufen? Den worker oder den prefork?
Preforkworker öffnet recht viele Files. Vlt. schwenkst du einfach auf den worker.

Gruß Dominik
 
Wenn ich mich meines letzten Versuches recht entsinne, funktioniert PHP aufgrund unvollständiger Threadsafety mit nichts außer mpm_prefork.
 
Moin,

also wenn ich den mpm-worker installiere wird automatisch libapache2-mod-php5 gelöscht. Ich versuchs mal mit lighty oder cherokee. Evtl. bringt das auch schon was. Und dann mal schauen was man am Mailsystem einsparen kann.

Gruß Christian
 
Ich bin bereits erfolgreich auf lighttpd umgestiegen. Gefühlte Geschwindigkeit ist 3x so schnell wie Apache2 mit Prefork. SSL und PHP4 tuts auch. Bleib ich erstmal bei.

Gruß Christian
 
Oben