Lange HTTP Ladezeiten, was ist der Flaschenhals?



vandervaarat

New Member
Hallo zusammen!

Ich betreibe eine Seite, die mit zunehmendem Besucheraufkommen leider zu Stoßzeiten extrem lange Ladezeiten aufweist. Sobald geschätzt ein paar dutzend Benutzer gleichzeitig online sind, gibt es immer wieder Seitenaufrufe, die sehr lange benötigen (teilweise 5 oder mehr Sekunden).


Server
Ubuntu 12.04.3
16 GB Ram
AMD Opteron 3280 Octacore

Angehängt habte ich das Ergebnis der Apache und Mysql Benchmarks sowie sämtliche Munin Charts


Jetzt ist meine Frage: Wo ist der Flaschenhals? Ich brauche garnicht mal konkrete Tipps, was ich ändern muss, das würde ich mir dann schon ergooglen. Es wäre mir bereits sehr geholfen, wenn jemand erkennen würde, wo es bei mir hakt.

Meine Überlegungen waren bisher:

CPU
Kann ich nicht genau einschätzen. Der Munin Chart geht zwar wegen den 8 Kernen bis 800% und dahin kommt die Last nie, aber da die ganzen Geschichten vermutlich nie alle Kerne ausnutzen, ist das wohl nicht die realistische Kapazitätsgrenze, oder?

MySQL
Die Seiten haben sehr viele MySQL Abfragen. Aber da ich in meine PHP Scripte eine Zeitmessung eingebaut habe, die alle Queries abdeckt und diese Messung auch im Fall einer sehr langen Ladezeit immer weiter unter einer Sekunde bleibt, kann es das ja eigentlich nicht sein, oder?

Apache
Keine Ahnung! Soweit ich das richtig Gegoogled habe, ist das Benchmarkergebnis ganz ok, oder?

Vielen Dank im Voraus
 

Attachments

  • apache_benchmark.PNG
    apache_benchmark.PNG
    21.1 KB · Views: 219
  • mysql benchmark.PNG
    mysql benchmark.PNG
    16.8 KB · Views: 203
  • munin.jpg
    munin.jpg
    294.5 KB · Views: 198
Sorry für den Doppelpost aber ich sehe, dass die Munincharts durch die Komprimierung nicht lesbar sind. Im Anhang die (vermutlich) wichtigsten einzeln. Falls noch andere wichtig sind, reiche ich die gerne nach.
 

Attachments

  • apache.PNG
    apache.PNG
    46.7 KB · Views: 200
  • cpu.PNG
    cpu.PNG
    37.9 KB · Views: 217
  • load und memory.PNG
    load und memory.PNG
    91.4 KB · Views: 185
  • processes.PNG
    processes.PNG
    109.5 KB · Views: 198
  • traffic.PNG
    traffic.PNG
    33.7 KB · Views: 181
Die Ausgabe von top -bn3 -d1 bitte mal zeitgleich mit einem solchen lange ladenden Seitenaufruf starten. An sich geht's dem Server aber gut, Überlastung sehe ich nicht - die meisten meiner Shared-Hosting-Kisten haben deutlich mehr zu tun.

Ins Blaue geraten:

- Hostname-Lookups in der Apache-Config aktiviert?
- Gibt es Webseitenressourcen, die von extern geladen werden (beispielsweise Gameserver-Statusanzeige, ...) und möglicherweise ab und an "hängen"?
- Kannst du Paketverluste (analysierbar mit einem MTR-Client deiner Wahl) feststellen?

Interessant könnte auch der Benchmark von Pingdom sein, da dieser zeigt, an welcher Stelle es hängt (z.B. schon beim Verbindungsaufbau).
 
An sich geht's dem Server aber gut, Überlastung sehe ich nicht
Ähm... einen Load-Average von über 2 hälst du für "gut"?? :eek:
Auch die "CPU usage" ist durchgehen auf einem sehr hohen / zu hohen Niveau.
Der Server hat einfach permanent Stress. Kein Wunder, dass es da zwischendurch mal zu Hängern kommt.

Selbst Nachts ist der Load noch ca. 1. Kann das stimmen? Hast du nachts so viele Besucher / aktive User auf der Seite?

Wenn viel MySQL genutzt wird, sind "log-queries-not-using-indexes" und "log-slow-queries" aktiv und werden ausgewertet?
 
Ähm... einen Load-Average von über 2 hälst du für "gut"?? :eek:
Ich nehme an, du hast zur Load irgendwo mal gelesen, dass sie < 1 sein sollte und andernfalls eine Überlastung vorliegt? Das war mal korrekt. In Zeiten der 1-Kern-Prozessoren. ;) Hier eine ganz gute Erklärung:
http://blog.scoutapp.com/articles/2009/07/31/understanding-load-averages

Auch die "CPU usage" ist durchgehen auf einem sehr hohen / zu hohen Niveau.
Siehe oben, du interpretierst das völlig falsch. 100% CPU-Usage sind auf einem Achtkerner 12,50% Gesamtlast des Systems. Dein Server hat größtenteils nichts zu tun.

Selbst Nachts ist der Load noch ca. 1. Kann das stimmen?
Linux wird dich schon nicht anlügen. Ganz gut finde ich immer den Vergleich zwischen dem Load-Graphen und dem Graphen für die Requests pro Sekunde - da kann man grobe Anomalien schnell erkennen.

Hast du nachts so viele Besucher / aktive User auf der Seite?
Nein, nachts laufen die Backups (womit die Last nachts tatsächlich am höchsten ist).

Wenn viel MySQL genutzt wird, sind "log-queries-not-using-indexes" und "log-slow-queries" aktiv und werden ausgewertet?
Auf Shared Hosting kann man sich das aus meiner Sicht klemmen, bei eigenen Servern ist es spätestens bei Lastproblemen empfehlenswert. Auf Shared Hosting nutze ich dedizierte Datenbank-Server mit MariaDB und werte die automatisch erzeugten Verbrauchsstatistiken aus. Über die Stränge schlagende Nutzer (in 80% der Fälle Spam-verseuchte Seiten :D) findet man so ausreichend schnell und ohne langwierige Logfile-Analyse.
 
Mir ist durchaus bewusst, was load ist und wie dieser zu deuten ist. Das ändert aber nichts daran, dass ein Load Average von über 2 nicht mehr als "normal" angesehen werden kann. Ich selbst betreibe zurzeit ca. 80 dedizierte Server und habe dadurch eine ganz gute Übersicht.
Das gleiche gilt für die "CPU usage" - auch dieser Wert ist permanent erhört. Zumal du nicht wissen kannst, ob alle beteiligten Prozesse eine Mehrkern-Architektur wirklich nutzen können.

Es ist sicherlich kein Problem, wenn load oder CPU usage immer mal kurzzeitig ansteigen. Wenn beide Werte aber dauerhaft erhört sind und der Server garnicht zur Ruhe kommt, sollte man prüfen, ob das wirklich noch mit dem normalen Betrieb zusammenhängt oder evtl. andere Ursachen hat.

Nein, nachts laufen die Backups (womit die Last nachts tatsächlich am höchsten ist).
Hm? Wo hat der TS denn irgendwas von Backups geschrieben? Oder behauptest du das jetzt einfach mal? Wenn das nur eine Behauptung ist, dann schreibe das bitte auch so und stelle es nicht als Tatsache hin.

Es ist zwar durchaus möglich, dass Nachts Backups laufen, diese erzeugen in der Regel aber load-Spitzen und keinen durchgehend gleichbleibenden load.

Auf Shared Hosting kann man sich das aus meiner Sicht klemmen, bei eigenen Servern ist es spätestens bei Lastproblemen empfehlenswert. Auf Shared Hosting nutze ich dedizierte Datenbank-Server mit MariaDB und werte die automatisch erzeugten Verbrauchsstatistiken aus. Über die Stränge schlagende Nutzer (in 80% der Fälle Spam-verseuchte Seiten :D) findet man so ausreichend schnell und ohne langwierige Logfile-Analyse
Was genau hat das denn jetzt damit zutun, was du von mir zitiert hast? Und warum "Shared Hosting"? Davon hat hier niemand etwas gesagt?

Und diese Logs sollten nicht "spätestens bei Lastproblemen " aktiviert werden - sondern von Anfang an. Dann gibt es nämlich garnicht erst Lastprobleme.
Die Logs können einem sehr schnell zeigen, welche Queries zu lange laufen und welche ggf. Indizes falsch oder garnicht nutzt. Gerade bei stark MySQL-lastigen Anwendungen, ist es extrem wichtig, das Indizes gut genutzt werden.
 
@fx123: ich glaube er hat die frage jetzt auf sich bezogen und beantwortet. ich habe kein shared hosting, viele backups etc :)



Danke für die Antworten! Auch wenn ich jetzt erst recht nicht weiß, ob meine CPU zu stark ausgelastet ist :D

Die Ausgabe von top -bn3 -d1 bitte mal zeitgleich mit einem solchen lange ladenden Seitenaufruf starten. An sich geht's dem Server aber gut, Überlastung sehe ich nicht - die meisten meiner Shared-Hosting-Kisten haben deutlich mehr zu tun.

Ins Blaue geraten:

- Hostname-Lookups in der Apache-Config aktiviert?
- Gibt es Webseitenressourcen, die von extern geladen werden (beispielsweise Gameserver-Statusanzeige, ...) und möglicherweise ab und an "hängen"?
- Kannst du Paketverluste (analysierbar mit einem MTR-Client deiner Wahl) feststellen?

Interessant könnte auch der Benchmark von Pingdom sein, da dieser zeigt, an welcher Stelle es hängt (z.B. schon beim Verbindungsaufbau).

- habe nichts am apache geändert, hostnamelookups sind daher aus
- ja gibt es, aber es hängt bei meinem server (laut YSLOW)
- werde ich mal bei stoßzeiten gucken
- pingdom hab ich schon gemacht, sagt genau wie YSLOW dass 90% der Zeit, wenn diese hänger kommen, für "WAIT" draufgeht

Ist zwar gerade keine Stoßzeit aber hier schonmal top:
Code:
top - 10:36:36 up 47 days,  8:09,  1 user,  load average: 1.55, 1.65, 1.64
Tasks: 256 total,   2 running, 253 sleeping,   0 stopped,   1 zombie
Cpu(s): 12.0%us,  5.7%sy,  0.3%ni, 81.5%id,  0.4%wa,  0.0%hi,  0.1%si,  0.0%st
Mem:  16370900k total, 15791568k used,   579332k free,   228216k buffers
Swap:  7996220k total,   135764k used,  7860456k free, 12609388k cached

 PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 7611 mysql     20   0 6598m 1.0g 5732 S   88  6.3  36369:17 mysqld
22354 user      20   0  290m  18m  13m S   13  0.1   0:03.71 php5-cgi
22352 user      20   0  292m  18m  13m S   12  0.1   0:02.94 php5-cgi
22344 user      20   0  290m  18m  13m S    8  0.1   0:03.23 php5-cgi
22350 user      20   0  292m  19m  13m S    5  0.1   0:04.90 php5-cgi
22351 user      20   0  292m  17m  12m S    3  0.1   0:02.82 php5-cgi
22353 user      20   0  289m  16m  12m S    3  0.1   0:00.17 php5-cgi
22818 www-data  20   0     0    0    0 Z    2  0.0   0:00.03 /usr/sbin/apach <defunct>
23377 root      20   0 17476 1440  972 R    2  0.0   0:00.06 top
23378 root      20   0  165m 4576 3428 S    2  0.0   0:00.02 sshd
20263 www-data  20   0  376m  25m 1988 S    1  0.2   0:00.26 /usr/sbin/apach
20482 root      20   0     0    0    0 R    1  0.0   0:00.61 kworker/6:1
20675 www-data  20   0  376m  25m 1984 S    1  0.2   0:00.20 /usr/sbin/apach
21808 root      20   0     0    0    0 S    1  0.0   0:00.10 kworker/1:0
21946 www-data  20   0  376m  25m 1980 S    1  0.2   0:00.11 /usr/sbin/apach
22097 www-data  20   0  376m  25m 1972 S    1  0.2   0:00.08 /usr/sbin/apach
22172 www-data  20   0  376m  25m 1972 S    1  0.2   0:00.08 /usr/sbin/apach
22423 www-data  20   0  376m  25m 1996 S    1  0.2   0:00.04 /usr/sbin/apach
22442 www-data  20   0  376m  25m 1840 S    1  0.2   0:00.05 /usr/sbin/apach
22499 www-data  20   0  376m  25m 1976 S    1  0.2   0:00.05 /usr/sbin/apach
22530 root      20   0 94756 4464 3388 S    1  0.0   0:00.07 sshd
22831 www-data  20   0  376m  25m 1824 S    1  0.2   0:00.02 /usr/sbin/apach
23317 www-data  20   0  376m  25m 1960 S    1  0.2   0:00.02 /usr/sbin/apach
23331 www-data  20   0  376m  25m 1880 S    1  0.2   0:00.01 /usr/sbin/apach
23380 root      20   0 51380 2912 2300 S    1  0.0   0:00.01 sshd
    1 root      20   0 24324 2072 1236 S    0  0.0   0:12.23 init
    2 root      20   0     0    0    0 S    0  0.0   0:04.21 kthreadd
    3 root      20   0     0    0    0 S    0  0.0   2:16.96 ksoftirqd/0
    5 root      20   0     0    0    0 S    0  0.0   0:00.29 kworker/u:0
    6 root      RT   0     0    0    0 S    0  0.0   0:03.35 migration/0
    7 root      RT   0     0    0    0 S    0  0.0   0:15.32 watchdog/0
    8 root      RT   0     0    0    0 S    0  0.0   0:15.07 migration/1
   10 root      20   0     0    0    0 S    0  0.0   0:25.80 ksoftirqd/1
   12 root      RT   0     0    0    0 S    0  0.0   0:15.28 watchdog/1
   13 root      RT   0     0    0    0 S    0  0.0   0:03.66 migration/2
   15 root      20   0     0    0    0 S    0  0.0   0:53.27 ksoftirqd/2
   16 root      RT   0     0    0    0 S    0  0.0   0:13.30 watchdog/2
   17 root      RT   0     0    0    0 S    0  0.0   0:15.37 migration/3
   19 root      20   0     0    0    0 S    0  0.0   0:25.14 ksoftirqd/3
   20 root      RT   0     0    0    0 S    0  0.0   0:14.90 watchdog/3
   21 root      RT   0     0    0    0 S    0  0.0   0:03.49 migration/4
   23 root      20   0     0    0    0 S    0  0.0   0:30.77 ksoftirqd/4
   24 root      RT   0     0    0    0 S    0  0.0   0:12.52 watchdog/4
   25 root      RT   0     0    0    0 S    0  0.0   0:15.12 migration/5
   27 root      20   0     0    0    0 S    0  0.0   0:18.94 ksoftirqd/5
   28 root      RT   0     0    0    0 S    0  0.0   0:14.50 watchdog/5
   29 root      RT   0     0    0    0 S    0  0.0   0:03.44 migration/6
   31 root      20   0     0    0    0 S    0  0.0   0:29.76 ksoftirqd/6
   32 root      RT   0     0    0    0 S    0  0.0   0:12.32 watchdog/6
   33 root      RT   0     0    0    0 S    0  0.0   0:14.81 migration/7
   35 root      20   0     0    0    0 S    0  0.0   0:19.89 ksoftirqd/7
   36 root      RT   0     0    0    0 S    0  0.0   0:14.50 watchdog/7
   37 root       0 -20     0    0    0 S    0  0.0   0:00.00 cpuset
   38 root       0 -20     0    0    0 S    0  0.0   0:00.00 khelper
   39 root      20   0     0    0    0 S    0  0.0   0:00.00 kdevtmpfs
   40 root       0 -20     0    0    0 S    0  0.0   0:00.00 netns
   42 root      20   0     0    0    0 S    0  0.0   0:08.65 sync_supers
   43 root      20   0     0    0    0 S    0  0.0   0:00.26 bdi-default
   44 root       0 -20     0    0    0 S    0  0.0   0:00.00 kintegrityd
   45 root       0 -20     0    0    0 S    0  0.0   0:00.00 kblockd
   46 root       0 -20     0    0    0 S    0  0.0   0:00.00 ata_sff
   47 root      20   0     0    0    0 S    0  0.0   0:00.02 khubd
   48 root       0 -20     0    0    0 S    0  0.0   0:00.00 md
   50 root      20   0     0    0    0 S    0  0.0   0:02.42 khungtaskd
   51 root      20   0     0    0    0 S    0  0.0   3:33.56 kswapd0
   52 root      25   5     0    0    0 S    0  0.0   0:00.00 ksmd
   53 root      39  19     0    0    0 S    0  0.0   0:00.00 khugepaged
   54 root      20   0     0    0    0 S    0  0.0   0:00.00 fsnotify_mark
   55 root      20   0     0    0    0 S    0  0.0   0:00.00 ecryptfs-kthrea
   56 root       0 -20     0    0    0 S    0  0.0   0:00.00 crypto
   64 root       0 -20     0    0    0 S    0  0.0   0:00.00 kthrotld
   65 root      20   0     0    0    0 S    0  0.0   0:00.00 scsi_eh_0
   66 root      20   0     0    0    0 S    0  0.0   0:00.22 scsi_eh_1
   67 root      20   0     0    0    0 S    0  0.0   0:00.00 scsi_eh_2
   68 root      20   0     0    0    0 S    0  0.0   0:00.00 scsi_eh_3
   69 root      20   0     0    0    0 S    0  0.0   0:00.00 scsi_eh_4
   70 root      20   0     0    0    0 S    0  0.0   0:00.00 scsi_eh_5
   75 root      20   0     0    0    0 S    0  0.0   0:00.00 kworker/u:6
  103 root       0 -20     0    0    0 S    0  0.0   0:00.00 devfreq_wq
  277 root      20   0     0    0    0 S    0  0.0   0:02.51 md0_raid1
  293 root      20   0     0    0    0 S    0  0.0 170:44.71 md2_raid1
  306 root      20   0     0    0    0 S    0  0.0   0:38.05 md1_raid1
  319 root      20   0     0    0    0 S    0  0.0  12:00.89 jbd2/md2-8
  320 root       0 -20     0    0    0 S    0  0.0   0:00.00 ext4-dio-unwrit
  395 root      20   0 17368  400  400 S    0  0.0   0:00.09 upstart-udev-br
  397 root      20   0 21848  712  712 S    0  0.0   0:00.06 udevd
  458 root      20   0 21712  260  256 S    0  0.0   0:00.00 udevd
  459 root      20   0 21712  284  284 S    0  0.0   0:00.00 udevd
  491 root       0 -20     0    0    0 S    0  0.0   0:00.00 kpsmoused
  574 root       0 -20     0    0    0 S    0  0.0   0:00.00 edac-poller
  583 root       0 -20     0    0    0 S    0  0.0   0:00.00 hd-audio0
  590 root       0 -20     0    0    0 S    0  0.0   0:00.00 ttm_swap
  639 root      20   0 15192  276  168 S    0  0.0   0:00.02 upstart-socket-
  786 syslog    20   0  244m 5628  932 S    0  0.0   9:39.88 rsyslogd
  792 messageb  20   0 23948  900  696 S    0  0.0   0:43.32 dbus-daemon
  801 root      20   0 21192 1184 1116 S    0  0.0   0:00.00 bluetoothd
  811 root      10 -10     0    0    0 S    0  0.0   0:00.00 krfcommd
  813 avahi     20   0 32308 1464 1300 S    0  0.0   4:15.38 avahi-daemon
  814 avahi     20   0 32184  204  160 S    0  0.0   0:00.00 avahi-daemon
  817 root      20   0 52152 5724 2092 S    0  0.0   4:02.07 /usr/sbin/munin
 1209 root      20   0     0    0    0 S    0  0.0  21:01.89 flush-9:2
 1241 root      20   0 50036 2424 2300 S    0  0.0   0:31.15 sshd
 1366 root      20   0 15788  780  776 S    0  0.0   0:00.00 getty
 1370 root      20   0 15788  780  776 S    0  0.0   0:00.00 getty
 1377 root      20   0 15788  780  776 S    0  0.0   0:00.00 getty
 1379 root      20   0 15788  780  776 S    0  0.0   0:00.00 getty
 1386 root      20   0 15788  780  776 S    0  0.0   0:00.00 getty
 1400 root      20   0 19116  952  796 S    0  0.0   0:26.89 cron
 1405 daemon    20   0 16912  232  216 S    0  0.0   0:00.02 atd
 1406 root      20   0 15984  604  504 S    0  0.0  15:18.54 irqbalance
 1421 bind      20   0  666m 2508 1500 S    0  0.0   0:02.89 named
 1483 postgres  20   0  121m 4276 4152 S    0  0.0   4:25.56 postgres
 1550 postgres  20   0  121m  488  400 S    0  0.0   9:04.82 postgres
 1551 postgres  20   0  121m  352  304 S    0  0.0   7:14.28 postgres
 1552 postgres  20   0  122m 1428 1064 S    0  0.0   5:43.95 postgres
 1553 postgres  20   0 93312  524  340 S    0  0.0   3:33.74 postgres
 1594 bijk      35  15 59856 2264 1968 S    0  0.0   0:00.03 bijk-node
 1596 bijk      35  15  121m 5472 2980 S    0  0.0 186:36.04 bijk worker 1
 1597 bijk      35  15  385m 258m 3220 S    0  1.6   8:59.70 bijk worker 3
 1598 bijk      35  15  118m 5292 2868 S    0  0.0  21:30.88 bijk worker 2
 1629 root      20   0 12116  628  548 S    0  0.0   0:00.00 couriertcpd
 1631 root      20   0  4304  544  456 S    0  0.0   0:00.00 courierlogger
 1640 root      20   0 12116  540  488 S    0  0.0   0:00.00 couriertcpd
 1642 root      20   0  4300  516  456 S    0  0.0   0:00.00 courierlogger
 1650 root      20   0 12116  624  568 S    0  0.0   0:00.64 couriertcpd
 1652 root      20   0  4304  516  456 S    0  0.0   0:00.22 courierlogger
 1660 root      20   0 12116  632  552 S    0  0.0   0:00.00 couriertcpd
 1663 root      20   0  4304  556  468 S    0  0.0   0:00.00 courierlogger
 3271 drweb     20   0  251m 247m 1744 S    0  1.5 430:49.28 drwebd.real
 3315 root      20   0 13368  644  520 S    0  0.0   0:01.15 mdadm
 3399 tomcat6   20   0 4607m  81m 3600 S    0  0.5  54:56.84 java
 3471 root      20   0 15788  780  776 S    0  0.0   0:00.00 getty
 4171 root      20   0 4090m 2608 2332 S    0  0.0   4:22.77 console-kit-dae
 4238 root      20   0  182m 2400 2000 S    0  0.0   1:07.20 polkitd
 9208 www-data  20   0  250m  20m  656 S    0  0.1   2:09.83 /usr/sbin/apach
 9727 postfix   20   0 27176 1620 1316 S    0  0.0   0:00.01 pickup
 9807 root      20   0  119m  49m 2392 S    0  0.3   0:03.52 /usr/sbin/spamd
 9808 popuser   20   0  119m  48m  892 S    0  0.3   0:00.00 spamd child
 9809 popuser   20   0  119m  48m  900 S    0  0.3   0:00.01 spamd child
15901 root      20   0     0    0    0 S    0  0.0   0:00.64 kworker/1:2
16840 root      20   0  376m  33m  10m S    0  0.2  80:50.92 /usr/sbin/apach
16901 root      20   0     0    0    0 S    0  0.0   0:00.95 kworker/2:2
17429 root      20   0     0    0    0 S    0  0.0   0:00.69 kworker/6:0
18562 root      20   0     0    0    0 S    0  0.0   0:00.52 kworker/4:1
18611 www-data  20   0  376m  25m 1984 S    0  0.2   0:00.42 /usr/sbin/apach
18720 root      20   0     0    0    0 S    0  0.0   0:00.20 kworker/3:0
19019 www-data  20   0  376m  25m 2140 S    0  0.2   0:00.50 /usr/sbin/apach
19069 root      20   0 14972 1048  856 S    0  0.0   0:00.24 xinetd
19105 root      20   0  119m 4412 3304 S    0  0.0   0:30.00 smbd
19139 root      20   0 91264 1848 1056 S    0  0.0   2608:06 nmbd
19141 root      20   0  119m 1620  516 S    0  0.0   0:00.05 smbd
19289 www-data  20   0  376m  25m 1984 S    0  0.2   0:00.40 /usr/sbin/apach
19910 root      20   0     0    0    0 S    0  0.0   0:00.18 kworker/5:0
19924 www-data  20   0  376m  25m 1984 S    0  0.2   0:00.32 /usr/sbin/apach
19952 root      20   0     0    0    0 S    0  0.0   0:00.36 kworker/0:1
19954 root      20   0     0    0    0 S    0  0.0   0:00.16 kworker/7:0
20080 root      20   0     0    0    0 S    0  0.0   0:00.19 kworker/4:2
20115 www-data  20   0  376m  25m 1980 S    0  0.2   0:00.30 /usr/sbin/apach
20146 root      20   0     0    0    0 S    0  0.0   0:00.13 kworker/1:1
20168 www-data  20   0  376m  25m 1980 S    0  0.2   0:00.29 /usr/sbin/apach
20290 root      20   0     0    0    0 S    0  0.0   0:00.18 kworker/3:1
20410 www-data  20   0  376m  25m 1964 S    0  0.2   0:00.26 /usr/sbin/apach
20589 www-data  20   0  376m  25m 1960 S    0  0.2   0:00.21 /usr/sbin/apach
20598 www-data  20   0  376m  25m 1956 S    0  0.2   0:00.18 /usr/sbin/apach
20647 www-data  20   0  376m  25m 1968 S    0  0.2   0:00.22 /usr/sbin/apach
20681 www-data  20   0  376m  25m 1920 S    0  0.2   0:00.21 /usr/sbin/apach
20762 www-data  20   0  376m  25m 1964 S    0  0.2   0:00.18 /usr/sbin/apach
21028 postfix   20   0  383m 1372 1096 S    0  0.0   0:51.74 psa-pc-remote
21236 root      20   0 25112 1680 1360 S    0  0.0   6:00.11 master
21244 postfix   20   0 27384 1956 1460 S    0  0.0   4:28.52 qmgr
21453 root      20   0     0    0    0 S    0  0.0   0:00.15 kworker/5:2
21454 www-data  20   0  376m  25m 1984 S    0  0.2   0:00.16 /usr/sbin/apach
21462 root      20   0     0    0    0 S    0  0.0   0:00.34 kworker/2:1
21473 sw-cp-se  20   0 48484 4280 2008 S    0  0.0   0:09.10 sw-cp-serverd
21481 www-data  20   0  376m  25m 1996 S    0  0.2   0:00.17 /usr/sbin/apach
21483 www-data  20   0  376m  25m 1984 S    0  0.2   0:00.22 /usr/sbin/apach
21485 www-data  20   0  376m  25m 1972 S    0  0.2   0:00.17 /usr/sbin/apach
21498 root      20   0     0    0    0 S    0  0.0   0:00.20 kworker/0:2
21514 www-data  20   0  376m  25m 1980 S    0  0.2   0:00.08 /usr/sbin/apach
21523 postfix   20   0 38628 3764 2380 S    0  0.0   0:03.66 tlsmgr
21524 root      20   0     0    0    0 S    0  0.0   0:00.16 kworker/7:1
21562 drweb     20   0  251m 245m  252 S    0  1.5   0:00.00 drwebd.real
21563 drweb     20   0  251m 245m  252 S    0  1.5   0:00.00 drwebd.real
21564 drweb     20   0  251m 245m  252 S    0  1.5   0:00.00 drwebd.real
21565 drweb     20   0  251m 245m  252 S    0  1.5   0:00.00 drwebd.real
21587 www-data  20   0  376m  25m 1980 S    0  0.2   0:00.22 /usr/sbin/apach
21599 www-data  20   0  376m  25m 1968 S    0  0.2   0:00.15 /usr/sbin/apach
21613 www-data  20   0  376m  25m 1916 S    0  0.2   0:00.15 /usr/sbin/apach
21641 www-data  20   0  376m  25m 1964 S    0  0.2   0:00.16 /usr/sbin/apach
21665 www-data  20   0  376m  25m 1984 S    0  0.2   0:00.14 /usr/sbin/apach
21718 root      20   0     0    0    0 S    0  0.0   0:00.29 kworker/4:0
21809 www-data  20   0  376m  25m 1984 S    0  0.2   0:00.12 /usr/sbin/apach
21811 www-data  20   0  376m  25m 2028 S    0  0.2   0:00.14 /usr/sbin/apach
21815 www-data  20   0  376m  25m 1812 S    0  0.2   0:00.12 /usr/sbin/apach
21817 www-data  20   0  376m  25m 1980 S    0  0.2   0:00.12 /usr/sbin/apach
21821 www-data  20   0  376m  25m 1980 S    0  0.2   0:00.18 /usr/sbin/apach
21857 user      20   0  255m  12m 7772 S    0  0.1   0:02.99 php5-cgi
21948 www-data  20   0  376m  25m 1916 S    0  0.2   0:00.11 /usr/sbin/apach
21950 www-data  20   0  376m  25m 1980 S    0  0.2   0:00.12 /usr/sbin/apach
21993 www-data  20   0  376m  25m 1984 S    0  0.2   0:00.20 /usr/sbin/apach
21995 www-data  20   0  376m  25m 1980 S    0  0.2   0:00.17 /usr/sbin/apach
22040 www-data  20   0  376m  25m 1984 S    0  0.2   0:00.08 /usr/sbin/apach
22045 root      20   0     0    0    0 S    0  0.0   0:00.10 kworker/3:2
22069 www-data  20   0  376m  25m 1976 S    0  0.2   0:00.11 /usr/sbin/apach
22111 www-data  20   0  376m  25m 1980 S    0  0.2   0:00.11 /usr/sbin/apach
22115 user      20   0     0    0    0 Z    0  0.0   0:06.14 php5-cgi <defunct>
22127 www-data  20   0  376m  25m 2032 S    0  0.2   0:00.06 /usr/sbin/apach
22131 www-data  20   0  376m  25m 1812 S    0  0.2   0:00.09 /usr/sbin/apach
22138 www-data  20   0  376m  25m 1980 S    0  0.2   0:00.08 /usr/sbin/apach
22140 www-data  20   0  376m  25m 1984 S    0  0.2   0:00.11 /usr/sbin/apach
22144 www-data  20   0  376m  25m 1976 S    0  0.2   0:00.07 /usr/sbin/apach
22150 www-data  20   0  376m  25m 1976 S    0  0.2   0:00.07 /usr/sbin/apach
22166 www-data  20   0  376m  25m 1964 S    0  0.2   0:00.07 /usr/sbin/apach
22176 www-data  20   0  376m  25m 1956 S    0  0.2   0:00.09 /usr/sbin/apach
22180 www-data  20   0  376m  25m 1980 S    0  0.2   0:00.08 /usr/sbin/apach
22211 user      20   0  257m  15m 8132 S    0  0.1   0:00.45 php5-cgi
22226 root      20   0     0    0    0 S    0  0.0   0:00.08 kworker/6:2
22270 www-data  20   0  376m  25m 1980 S    0  0.2   0:00.09 /usr/sbin/apach
22309 www-data  20   0  376m  25m 1920 S    0  0.2   0:00.05 /usr/sbin/apach
22328 www-data  20   0  376m  25m 1980 S    0  0.2   0:00.06 /usr/sbin/apach
22332 www-data  20   0  376m  25m 1916 S    0  0.2   0:00.07 /usr/sbin/apach
22336 www-data  20   0  376m  25m 1980 S    0  0.2   0:00.04 /usr/sbin/apach
22345 user      20   0  292m  17m  13m S    0  0.1   0:02.44 php5-cgi
22346 user      20   0  292m  18m  13m S    0  0.1   0:01.61 php5-cgi
22349 user      20   0  292m  18m  13m S    0  0.1   0:02.40 php5-cgi
22356 user      20   0  289m  16m  12m S    0  0.1   0:00.29 php5-cgi
22430 www-data  20   0  376m  25m 1968 S    0  0.2   0:00.04 /usr/sbin/apach
22435 www-data  20   0  376m  25m 1812 S    0  0.2   0:00.04 /usr/sbin/apach
22497 www-data  20   0  376m  25m 1964 S    0  0.2   0:00.02 /usr/sbin/apach
22501 www-data  20   0  376m  25m 1980 S    0  0.2   0:00.03 /usr/sbin/apach
22555 root      20   0 23188 4444 1712 S    0  0.0   0:00.21 bash
22606 www-data  20   0  376m  25m 1824 S    0  0.2   0:00.02 /usr/sbin/apach
22618 www-data  20   0  376m  25m 2024 S    0  0.2   0:00.01 /usr/sbin/apach
22777 www-data  20   0  376m  25m 1980 S    0  0.2   0:00.01 /usr/sbin/apach
22820 www-data  20   0  376m  25m 1916 S    0  0.2   0:00.01 /usr/sbin/apach
22822 www-data  20   0  376m  25m 1836 S    0  0.2   0:00.01 /usr/sbin/apach
22824 www-data  20   0  376m  25m 1812 S    0  0.2   0:00.02 /usr/sbin/apach
22826 www-data  20   0  376m  25m 1808 S    0  0.2   0:00.02 /usr/sbin/apach
22828 www-data  20   0  376m  25m 1996 S    0  0.2   0:00.03 /usr/sbin/apach
22830 www-data  20   0  376m  25m 1972 S    0  0.2   0:00.01 /usr/sbin/apach
23016 www-data  20   0  376m  25m 1812 S    0  0.2   0:00.01 /usr/sbin/apach
23037 www-data  20   0  376m  25m 1812 S    0  0.2   0:00.02 /usr/sbin/apach
23268 root      20   0     0    0    0 S    0  0.0   0:00.02 kworker/5:1
23274 root      20   0     0    0    0 S    0  0.0   0:00.04 kworker/2:0
23290 www-data  20   0  376m  25m 1808 S    0  0.2   0:00.00 /usr/sbin/apach
23296 www-data  20   0  376m  25m 1808 S    0  0.2   0:00.02 /usr/sbin/apach
23298 root      20   0     0    0    0 S    0  0.0   0:00.00 kworker/0:0
23302 www-data  20   0  376m  25m 1908 S    0  0.2   0:00.01 /usr/sbin/apach
23306 www-data  20   0  376m  25m 1848 S    0  0.2   0:00.00 /usr/sbin/apach
23308 www-data  20   0  376m  25m 1828 S    0  0.2   0:00.00 /usr/sbin/apach
23311 www-data  20   0  376m  25m 1812 S    0  0.2   0:00.00 /usr/sbin/apach
23313 www-data  20   0  376m  25m 1812 S    0  0.2   0:00.00 /usr/sbin/apach
23315 www-data  20   0  376m  25m 1828 S    0  0.2   0:00.00 /usr/sbin/apach
23325 www-data  20   0  376m  25m 1916 S    0  0.2   0:00.00 /usr/sbin/apach
23333 www-data  20   0  376m  25m 1964 S    0  0.2   0:00.00 /usr/sbin/apach
23337 www-data  20   0  376m  25m 1832 S    0  0.2   0:00.00 /usr/sbin/apach
23339 www-data  20   0  376m  25m 1880 S    0  0.2   0:00.00 /usr/sbin/apach
23341 www-data  20   0  376m  25m 1832 S    0  0.2   0:00.00 /usr/sbin/apach
23346 root      20   0     0    0    0 S    0  0.0   0:00.00 kworker/7:2
23379 sshd      20   0 51468 1440  748 S    0  0.0   0:00.00 sshd
23381 sshd      20   0 51380 1292  660 S    0  0.0   0:00.00 sshd



Ähm... einen Load-Average von über 2 hälst du für "gut"?? :eek:
Auch die "CPU usage" ist durchgehen auf einem sehr hohen / zu hohen Niveau.
Der Server hat einfach permanent Stress. Kein Wunder, dass es da zwischendurch mal zu Hängern kommt.

Selbst Nachts ist der Load noch ca. 1. Kann das stimmen? Hast du nachts so viele Besucher / aktive User auf der Seite?

Wenn viel MySQL genutzt wird, sind "log-queries-not-using-indexes" und "log-slow-queries" aktiv und werden ausgewertet?

Nachts (3-5 Uhr) werde ich vermutlich so maximal 10-15 Leute drauf haben.

Slow Query Log ist voll aber ziemlich nutzlos weil dort oft durch die Hänger selbst mini Queries mit 50 durchlaufenen Zeilen drinstehen (mit 3 Sekunden Query time obwohl die normalerweise 0,03 Sekunden braucht). Allerdings habe ich eigentlich sehr penibel auf Indizes geachtet, sollten nirgendwo fehlen. Hier auch nochmal die Frage zur Zeitmessung im PHP:
PHP:
// Datei begin
$start = time();
// Sämtliche Queries
$ende = time()-$start;
// Datei ende

Wenn mein Script so aufgebaut ist, und die Zeitmessung immer 0.1-0.2 Sekunden (benutze microtime) ergibt, auch wenn er 5 Sekunden geladen hat, kann es dann überhaupt am MySQL liegen? Oder ist die Zeitmessung in dem Fall unbrauchbar? Der Server kann doch auch schlecht eine Abfrage in die Warteschleife schicken weil die DB überlastet ist, bevor er weiß, dass eine SQL Abfrage in dem Script vorkommt, oder?
 
Last edited by a moderator:
Nachdem du im Top extrem viele apache Prozesse hast: Kann es sein, dass die maximale anzahl an Apache Prozessen die erlaubt sind erreicht ist, und deshalb ein User erst warten muss, bis wieder ein Apache Prozess für ihn verfügbar ist?

Und zur Load:
Die bezeichnet ja eigentlich nur die Anzahl der Prozesse, die gerade am laufen sind. Bei viel Netzwerkverkehr kann es durchaus sein, dass die Load hoch ist, die CPU aber fast nichts zu tun hat, weil die einzelnen Prozesse nicht geschlossen werden können, weil sie nichts über die Netzwerkkarte raus bringen.
Und wenn ich acht Kerne habe, und ne Load von unter acht, ist laut meiner Rechnung nicht jede CPU ausgelastet.
 
Back
Top