Ich versuche, die korrekten Betriebsebenen meines Servers zu verstehen

Ich versuche, die korrekten Betriebsebenen meines Servers zu verstehen

Ich versuche herauszufinden, in welchen Grenzen mein dedizierter Server betrieben werden sollte. Der Server ist ein Intel(R) Xeon(R)CPU L5420 @ 2,50 GHz mit 16 GB RAM und läuft mit RedHat, Apache 2 und MySQL. Er hat 16 Domänen und einige dieser Domänen haben mehr als 3000 Einzelbesucher pro Tag. Wenn ich einen „top“-Befehl ausführe, sehe ich Folgendes:

top - 10:18:10 up 428 days, 18:20,  1 user,  load average: 1.71, 1.44, 1.49
Tasks: 211 total,   3 running, 206 sleeping,   0 stopped,   2 zombie
Cpu(s): 23.5%us,  3.8%sy,  0.0%ni, 72.7%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:  16431252k total, 16119648k used,   311604k free,   613340k buffers
Swap:  2096472k total,   108096k used,  1988376k free,  9511536k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 7440 apache    16   0  434m 111m 7096 S 59.8  0.7   2:56.17 httpd
 8856 apache    17   0  438m 115m 7084 S 54.5  0.7   2:07.94 httpd
10441 apache    17   0  432m 107m 5696 R 35.9  0.7   0:08.18 httpd
 5035 apache    16   0  444m 118m 7708 S 14.0  0.7   5:24.62 httpd
26931 mysql     15   0 2900m 2.6g 5480 S  1.7 16.3  43:56.03 mysqld
10486 root      15   0 12864 1184  828 R  0.7  0.0   0:00.03 top
  742 root      10  -5     0    0    0 S  0.3  0.0 205:45.65 kjournald
 9141 root      15   0  203m 136m 4988 S  0.3  0.9   2:39.58 savscand
 9150 root      15   0  193m 136m 4924 S  0.3  0.9   2:40.54 savscand
    1 root      15   0 10372  556  524 S  0.0  0.0   0:15.75 init
    2 root      RT  -5     0    0    0 S  0.0  0.0   0:02.52 migration/0
    3 root      34  19     0    0    0 S  0.0  0.0   0:00.33 ksoftirqd/0
    4 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/0
    5 root      RT  -5     0    0    0 S  0.0  0.0   0:01.99 migration/1
    6 root      34  19     0    0    0 S  0.0  0.0   0:00.11 ksoftirqd/1
    7 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/1
    8 root      RT  -5     0    0    0 S  0.0  0.0   0:01.87 migration/2
    9 root      34  19     0    0    0 S  0.0  0.0   0:00.10 ksoftirqd/2
   10 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/2
   11 root      RT  -5     0    0    0 S  0.0  0.0   0:01.91 migration/3
   12 root      34  19     0    0    0 S  0.0  0.0   0:00.11 ksoftirqd/3
   13 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/3
   14 root      RT  -5     0    0    0 S  0.0  0.0   0:12.35 migration/4
   15 root      34  19     0    0    0 S  0.0  0.0   0:00.49 ksoftirqd/4
   16 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/4
   17 root      RT  -5     0    0    0 S  0.0  0.0   0:14.29 migration/5
   18 root      34  19     0    0    0 S  0.0  0.0   0:00.42 ksoftirqd/5
   19 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/5
   20 root      RT  -5     0    0    0 S  0.0  0.0   0:13.40 migration/6

Meine Frage ist: Sehen diese Zahlen normal aus? Sind sie zu hoch? Zu niedrig? Wie kommt es, dass die CPU-Auslastung weit über 100 % liegt?

Vielen Dank.

Antwort1

Meine Frage ist: Sehen diese Zahlen normal aus? Sind sie zu hoch? Zu niedrig?

Es gibt kein „normal“. CPU-, Speicher-, Last- und IO-Statistiken geben einen guten Hinweis darauf, wie die Leistung isteingeschränktaber sie geben kein genaues Bild von der Leistung Ihres Servers. Wenn Sie wissen möchten, wie hoch die Leistung Ihrer Transaktionen ist, müssen Sie die Geschwindigkeit Ihrer Transaktionen messen. Wenn Sie keinen Reverse-Proxy haben und Inhalte über das Internet bereitstellen, dann die Zeit, die für die Bearbeitung jeder Anfrage benötigt wirdsollenvon der Netzwerkzeit dominiert werden. Eine Möglichkeit, dies zu lösen, besteht darin, die bis zum ersten Byte der Anfrage verstrichene Zeit zu messen (was jedoch offensichtlich ziemlich irreführend sein kann, wenn die Kodierung in Blöcke unterteilt ist). Eine andere Lösung besteht darin, ein Tool wie Yahoo Boomerang zu verwenden, das die Seitenleistung und nicht die Anfrageleistung misst (und daher viel besser auf die Benutzererfahrung abgestimmt ist), aber auch Informationen zum Netzwerkdurchsatz erfasst.

(Aber ich stimme mit Andrei überein, dass es eine gute Idee ist, die Last unter der Anzahl der CPUs zu halten.)

Wie kommt es, dass die CPU-Auslastung weit über 100 % liegt?

Weil Sie mehrere CPUs haben.

Antwort2

Sie vermissen den wichtigen Parameter LA (Lastdurchschnitt): (erste Zeile oben). Die allgemeine Regel lautet: Halten Sie die LA-Zahlen unter der Anzahl der CPU-Kerne, obwohl es noch viele weitere wichtige Parameter gibt.

verwandte Informationen