Sporadisch hohe Serverlast - Grund unbekannt

aaron_

New Member
Hallo!

Ich bin neu hier und im Moment ziemlich ratlos. Bei netclusive habe ich den größten (managed) VServer gemietet, und die Performance ist für meine Zwecke absolut ausreichend.
Jedoch steigt die CPU-last (scheinbar besonders gerne Dienstags) teilweise immens (bis 15, 20..) um dann wieder ab zu fallen und schließlich wieder zu steigen.
Einen unmittelbaren Zusammenhang zwischen den Besuchern meine Webseite und der Auslastung des Systems kann ich nicht erkennen, zumal gestern abend bspw. über 100 Leute im Forum online waren, bei einer CPU-Last von 0,5-0,8
Der Support meint natürlich, an meiner Webseite liegts, aber so recht werde ich nicht schlau.

Hier die Ausgabe von top. Die im Confixx angezeigten Ressourcen werden allesamt vielleicht zu 5-20% ausgelastet, lediglich die CPU-Last ist extrem hoch!

Code:
top - 19:57:19 up  2:23,  1 user,  load average: 10.78, 4.94, 3.24
Tasks:  89 total,  16 running,  69 sleeping,   0 stopped,   4 zombie
Cpu(s): 81.7%us, 18.3%sy,  0.0%ni,  0.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   2071672k total,  1991560k used,    80112k free,    64508k buffers
Swap: 20482864k total,   603264k used, 19879600k free,   428032k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                          
27735 web0      18   0 19124 8240 4092 R  4.6  0.4   0:00.14 php4-cgi                                         
27743 web0      18   0 19132 8256 4096 R  4.6  0.4   0:00.14 php4-cgi                                         
20419 mysql     15   0 31884  12m 4568 S  3.3  0.6   2:44.19 mysqld                                           
23914 www-data  15   0 12020 3896 1592 S  1.0  0.2   0:00.10 apache2                                          
27736 web0      17   0     0    0    0 Z  1.0  0.0   0:00.03 php4-cgi <defunct>                               
23965 www-data  15   0 12272 3980 1588 S  0.7  0.2   0:00.20 apache2                                          
23982 www-data  15   0 12280 4036 1592 S  0.7  0.2   0:00.09 apache2                                          
27727 web0      16   0     0    0    0 Z  0.7  0.0   0:00.02 php4-cgi <defunct>                               
23920 www-data  15   0 11904 3776 1596 S  0.3  0.2   0:00.18 apache2                                          
24125 www-data  15   0 11904 3772 1596 S  0.3  0.2   0:00.04 apache2                                          
24126 www-data  15   0 12024 3788 1608 S  0.3  0.2   0:00.13 apache2                                          
26550 www-data  15   0 11792 3348 1324 S  0.3  0.2   0:00.01 apache2                                          
27740 web0      16   0 12244 3112 2292 R  0.3  0.2   0:00.01 php4-cgi                                         
    1 root      15   0  1952  660  564 S  0.0  0.0   0:00.07 init                                             
 5442 postfix   15   0  5132 1464 1192 S  0.0  0.1   0:00.00 pickup                                           
 7291 dovecot   15   0  3308 1496 1244 S  0.0  0.1   0:00.06 imap-login                                       
 7293 dovecot   15   0  3304 1492 1244 S  0.0  0.1   0:00.07 imap-login                                       
 7294 dovecot   15   0  3308 1492 1244 S  0.0  0.1   0:00.08 imap-login                                       
 7295 dovecot   15   0  3308 1492 1244 S  0.0  0.1   0:00.07 imap-login                                       
 7296 dovecot   15   0  3304 1492 1244 S  0.0  0.1   0:00.05 imap-login                                       
 7297 dovecot   15   0  3304 1492 1244 S  0.0  0.1   0:00.07 imap-login                                       
 7298 dovecot   15   0  3304 1492 1244 S  0.0  0.1   0:00.08 imap-login

Weiß jemand Rat?
 
Last edited by a moderator:
So wie es aussieht, scheinen vor allem Deine PHP4-Scripte viel Speicher und CPU-Last zu ziehen. Falls der nötige Speicher so groß wird, dass er ins Swap ausgelagert wird, sind Performance-Probleme vorprogrammiert.
Ich würde mal nachsehen, welche Prozesse die 600MB im Swap-Speicher belegen.

huschi.
 
Achso, in dem Fall gelten die Werte von "top" nicht für den Server sondern für den Host.
Gilt dann evtl. auch die Load für den ganzen Host?

Frage an die Allgemeinheit: Welche Virtualisierungstechnik nutzt Netclusive?

huschi.
 
Hi,

da netclusive ein "Parallels Power Panel" anbietet, tippe ich auf Virtuozzo oder OpenVZ.
Die PHP-Last ist zwar auffällig aber nicht unbedingt kritisch.

@aaron_: Zeig uns bitte mal die Ausgabe von "cat /proc/user_beancounters"


-W
 
cat /proc/user_beancounters > Kann ich nicht anzeigen, Permission denied
Gibt's noch eine andere Möglichkeit?


Ich muss dazusagen, dass der Server die Tage davon (länger habe ich ihn noch nicht) absolut problemlos läuft. Ich lass die Serverlast alle 5min protokollieren, und da kam er so gut wie nie über 1 hinaus, während heute Werte unter 2-4 schon eine Seltenheit sind.

Unverhofft fällt die Serverlast in die Gegend von 0,5 zurück (was ich eigentlich erwarten würde) und geht dann in den folgenden Minuten wieder extrem hinauf - seit heute 14:00 oszilliert das Ding so quasi vor sich hin.
An den Besucher(zahlen) liegt's nicht, zumindest zeigt mir der Weblog Expert kein stärkeres Aufkommen als sonst.

edit:
Achso, in dem Fall gelten die Werte von "top" nicht für den Server sondern für den Host.
Gilt dann evtl. auch die Load für den ganzen Host?

Würde mich auch interessieren!
Netclusive verwendet Virtuozzo


noch ein edit:

Zu Spitzenlasten produziert MySQL teilweise 40-50% CPU-Last, das würde ja noch auf ein falsch konfiguriertes MySQL hindeuten (wobei, wie sollte es sich über Nacht falsch konfigurieren?)
Jedoch sehe ich gerade, dass selbst der top-Prozess um die 0,3-0,7% CPU Last benötigt... ich bilde mir ein, der kam früher nie über 0,1 hinaus, bzw. sah ich ihn beim Aufruf nicht mal. Kann es sein, dass da irgendwie die CPU-Leistung dramatisch zurückgenommen wurde? Ich seh ja leider immer nur die relativen %-Angaben.
 
Last edited by a moderator:
Niemand eine Idee?

Ich habe die top-Tabelle heute weiter beobachtet. Die Werte bewegen sich heute bis auf ganz wenige Ausreißer wieder im normalen Bereich (0,3-0,8)

Jedoch ist mir aufgefallen, dass zwischendurch immer wieder der mysqld Prozess bis zu 67% der Cpu beansprucht (und erst dann auch die php4-cgi-Prozesse bis auf ca. 6% hochgehen > wenn SQL von PHP ausgeführt wird und die Datenbank mitten drin "hängt" - eigentlich logisch?)

Wie kann ich herausfinden, was sich da im Detail abspielt? Leider scheint's keine Möglichkeiten zu geben, bei dem Managed VServer außerhalb von phpMyAdmin auf MySQL einfluss zu nehmen...
 
Ach das ist ein "Managed VServer". Das erklärt auch warum Du nicht auf die user_beancounters zugreifen kannst.
Dann könntest Du evtl. gemachte Vorschläge von uns auch gar nicht umsetzten.
Das lässt das ganze natürlich in einem anderen Licht erscheinen...

huschi.
 
Das lässt das ganze natürlich in einem anderen Licht erscheinen...

... das heißt? ;)

Inzwischen kann ich meine Webseiten eigentlich schon fast als Ursache für das VServer-Trauerspiel ausschließen: Die Load-Werte haben ziemlich wenig mit dem zu tun, was auf meiner Seite passiert:
400 Besucher à 15000 Zugriffe pro Stunde > avg. load 0,47 (13 Messungen gemittelt)
ein anderes Mal
200 Besucher à 7000 Zugriffe pro Stunde > avg. load 0,87 (12 Messungen gemittelt)

Allein das ist eine Standardabweichung von 400% Serverlast pro Klick, ohne dass meine Webseite eine derart rapide Änderung im Nutzungsverhalten gestattete! Der Server kanns aber noch besser, bloß hat netclusive im Moment scheinbar das Aufzeichnen der Serverload per cronjob deaktiviert... ein Schelm, wer Böses denkt.

Die Datenbank hängt, aber ordentlich und - sporadisch, das ist mal sicher.
Manchmal listet top minutenlang 90-99% der CPU-Leistung als I/O-Waits.

Code:
top - 19:10:49 up  2:41,  1 user,  load average: 2.03, 2.08, 1.54
Tasks:  78 total,   2 running,  74 sleeping,   0 stopped,   2 zombie
Cpu(s):  6.3%us,  4.2%sy,  0.0%ni,  0.0%id, 89.5%wa,  0.0%hi,  0.0%si, 
0.0%st
Mem:   2071672k total,  2017672k used,    54000k free,    23176k buffers
Swap: 20482864k total,   585988k used, 19896876k free,   445964k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 7512 web0      18   0     0    0    0 Z  1.0  0.0   0:00.03 php4-cgi 
<defunct>
 7517 www-data  16   0     0    0    0 Z  0.0  0.0   0:00.00 apache2 
<defunct>
    1 root      15   0  1948  656  564 S  0.0  0.0   0:00.08 init
 3553 www-data  15   0 11836 3676 1596 S  0.0  0.2   0:00.03 apache2
 3616 www-data  15   0 11844 3728 1592 S  0.0  0.2   0:00.05 apache2
 3983 root      18   0 25528 5828 4780 S  0.0  0.3   0:00.00 vzavpsagent
 4009 root      20   0 25528 4944 3884 S  0.0  0.2   0:00.00 vzavpsagent
 5965 www-data  15   0 11932 3772 1604 S  0.0  0.2   0:00.03 apache2
 5971 www-data  15   0 12072 3888 1636 S  0.0  0.2   0:00.02 apache2
 6025 www-data  15   0 12064 3720 1584 S  0.0  0.2   0:00.00 apache2
 6028 www-data  15   0 11784 3540 1576 S  0.0  0.2   0:00.00 apache2
 6040 www-data  18   0 11796 3200 1256 S  0.0  0.2   0:00.00 apache2
 6044 web0      20   0 24520 8096 4576 S  0.0  0.4   0:00.09 php4-cgi
 6046 www-data  15   0 11800 3616 1596 S  0.0  0.2   0:00.01 apache2
 6074 web0      16   0 25568 9144 4648 S  0.0  0.4   0:00.13 php4-cgi
 6102 www-data  20   0 11664 3256 1308 S  0.0  0.2   0:00.00 apache2
 6105 www-data  15   0 11664 3208 1268 S  0.0  0.2   0:00.00 apache2
 6107 web0      18   0 24788 7980 4392 S  0.0  0.4   0:00.07 php4-cgi
 6108 web0      17   0 24788 7980 4392 S  0.0  0.4   0:00.08 php4-cgi
 6109 web0      18   0 24796 7984 4392 S  0.0  0.4   0:00.08 php4-cgi
 6111 web0      16   0 24452 8060 4560 S  0.0  0.4   0:00.09 php4-cgi
 6113 www-data  15   0 11772 3540 1580 S  0.0  0.2   0:00.00 apache2
 
Last edited by a moderator:
Back
Top