Wiederkehrende Serverlaggs Webserver

Crystal26

New Member
Hallo liebe Leser,

eigtl. dachte ich, dass ich das Problem selbst in den Griff bekomme mit anpassen der Apache und MYSQL Config, aber ich vermute fast, dass mein Problem woanders liegt.

Daten zum Server:
RootDS
- CPU: 2x 2,33 GHz Prozessor
- RAM: 3072MB
- HDD: 80GB (RAID)
- Verwaltung: Confixx mit PowerPanel & Rootzugriff

Benutzung:
Webserver & Imageserver. Auf dem Server werden ausschliesslich nur Webprojekte gehostet: Foren, Browsergames und ein Imageserver der extern 2-3 Webprojekte mit Bildern bestückt.

Wenn wirklich viel los ist, so würde ich behaupten, dass in den Spielen vll. 30 User online sind und zusätzlich vll. 2-3 Bots von den Suchmaschinen (Delay: 5 Sekunden) und extern vll. 70 Connections stattfinden, zwecks Grafiken. Also wirklich nicht wirklich sehr Anspruchsvoll, ich hab sogar alles optimiert: Ajax Requests, robots.txt, Error.log stehts kontrolliert und nachgebessert. Beliefern sollte er meiner Meinung nach mind. 400 User, ob nun einfach nur ein Bild abgerufen wird oder ein echter Seitenbesucher.

Problem:
Server läuft recht flüssig und dann kommen immer wieder kurzzeitige Serverlaggs wo die Seiten 20-30 Sekunden Ladezeit benötigen und sich dann nach 5 Minuten reguliert. Die CPU ist meist zu 3% ausgelastet und der RAM meist so um die 300MB. Sobald der Server anfängt die Seiten schlecht aufzubauen, ist auch ein Login in FTP oder SSH sehr schwer.


Folgende Configs wurden schon angepasst:

Apache2
Code:
Timeout 300
KeepAlive On
MaxKeepAliveRequests 150
KeepAliveTimeout 2

<IfModule mpm_prefork_module>
StartServers       50
MinSpareServers    20
MaxSpareServers    80
ServerLimit       800
MaxClients        800
MaxRequestsPerChild   100
</IfModule>

MYSQL (mit Primer-Script schon optimiert, lediglich 400 Connections wurden als zuviel eingestuft)
HTML:
# * Fine Tuning
#
key_buffer		= 128M
max_allowed_packet	= 16M
thread_stack		= 64K
thread_cache_size	= 8
# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched
myisam-recover		= BACKUP
max_connections		= 400
long_query_time		= 5
table_cache		= 512
thread_concurrency	= 10
#
# * Query Cache Configuration
#
query_cache_limit       = 2M
query_cache_size	= 8M
#


Folgender ErrorLog ist mir noch aufgefallen im Mail-Bereich:
HTML:
Dec 16 02:33:12 XXX pop3d: 10 maximum active connections.
Dec 16 14:00:23 XXX postfix/smtpd[4479]: warning: XXX: address not listed for hostname bannerka.hostsila.com
Dec 16 14:00:23 XXX postfix/smtpd[4479]: warning: non-SMTP command from unknown[XXX]: GET / HTTP/1.1
Dec 17 14:58:45 XXX postfix/smtpd[13595]: warning: unknown[61.143.165.100]: SASL LOGIN authentication failed: authentication failure
Dec 17 14:58:48 XXX postfix/smtpd[13598]: warning: unknown[61.143.165.100]: SASL LOGIN authentication failed: authentication failure

Ich bin mit den Befehlen in SSH nicht so ganz vertraut, aber wenn ihr noch etwas benötigt, so werde ich es gern nachliefern.

Lieben Gruss
 
Bitte ein 'atop 1' Screenshot und ein 'lsof -np -i :80' zu einem normalen und einem 'Stotter'Zeitpunkt
 
Ich liefer vorweg einmal "atop 1"
und einmal "atop" als ich etwas rotes bemerken konnte (vvl. interessant)

MOD: Bilder bitte immer als Anhang. Danke!
 

Attachments

  • bzmgwxpoes5md39pk.png
    bzmgwxpoes5md39pk.png
    12.9 KB · Views: 88
  • bzmgxh6hqbpsgevvs.png
    bzmgxh6hqbpsgevvs.png
    26.4 KB · Views: 117
Last edited by a moderator:
Hmm, das System tut aktuell genau das was du beschrieben hast; Nickerchen halten.
Warum oder wie er im 2. Screenshot allerdings Swap-Schreiben will ist mir raetselhalft; schliesslich hast du keinen Swap.

Da du einen Rootserver hast ist es sinnvoll eine Swap-Datei an zu legen, afaik hat der OOM-Killer (also falls er mal out-of-memory ist) Probleme wenn kein Swap vorhanden ist; das sollte aber zumindest dein aktuelles Problem nicht sein da du noch sehr viel RAM frei hast.

Eine Vermutung waere dass irgendein Prozess "cleanup"-Arbeiten macht (Datenbanken auslesen und putzen, ...) und damit deine Festplatten ans Limit bringt, allerdings sollte das ihn dank IO-Scheduling noch nicht so weit bringen dass ein SSH-Login "sehr schwer" wird.
 
Das ist nun der Vorführ Effekt, seit 10 Minuten hat er keinen Aussetzer, ich warte derzeitig noch, dass er mal wieder für ein paar Minütchen stottert...
 
Also im Laufe des Tages, wie gesagt Vorführeffekt, kam es komischerweise kaum zu Aussetzern, lediglich wie meistens nach 0:00 Uhr zu diesen Erreignissen:

'lsof -np -i :80" sagte:


// Also bemerkenswert das 5-10 Minuten die CPU ans äusserste gebracht wurde, jedoch ist mir kein besonderer Prozess ins Auge gefallen.


Edit: Den konnte ich noch einfangen:

MOD: Anhänge, siehe oben.
 

Attachments

  • bzmp5womsbmp62sx4.png
    bzmp5womsbmp62sx4.png
    6.2 KB · Views: 83
  • bzmp5mysmqadnffu0.png
    bzmp5mysmqadnffu0.png
    23.2 KB · Views: 94
  • bzmp9cdlwnud2t2p4.png
    bzmp9cdlwnud2t2p4.png
    28.8 KB · Views: 115
Last edited by a moderator:
Da taucht ein venet0 und ein nicht vorhandener Swap auf. Bist du dir sicher, dass es sich hier um ein dediziertes System handelt? Für mich sieht das eher nach einer OpenVZ/Virtuozzo VE aus.
Es hängen recht viele Apache Prozesse auf Status "D". Das lässt ein IO Problem vermuten. In Zusammenhang das es ein vServer ist und meistens nach 0 Uhr auftritt, könnten auch andere Kunden an der IO Schuld sein. ;)
 
Ohh vll. habe ich im falschen Bereich geschrieben, da das Power Panel ebenfalls von Virtuozzo kommt stimme ich dir zu.

Ich werde dem Hoster mal ein Ticket schreiben - Gruss
 
Fixed

Vielen Dank für die Mithilfe

und konnte mittlerweile den Hoster überzeugen dass die Laggs nicht auf meiner Schuld beruhen und sie haben den Kunden (bzw sind dabei) auf dem Server zu isolieren. Es ist also Besserung in Aussicht :)
 
Back
Top