Назад | Перейти на главную страницу

Пытаюсь понять правильные уровни работы моего сервера

Я пытаюсь установить, с какими порогами должен работать мой выделенный сервер. Сервер - это процессор Intel (R) Xeon (R) L5420 @ 2,50 ГГц с 16 ГБ ОЗУ, работающий под RedHat с Apache 2 и MySQL. У него 16 доменов, и пара из них получает более 3000 уникальных посетителей в день. Если я запускаю команду «сверху», я вижу следующее:

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

У меня вопрос, эти цифры выглядят нормально? Они слишком высокие? Слишком низко? Почему загрузка процессора превышает 100%?

Огромное спасибо.

Вы упускаете важный параметр LA (средняя нагрузка): (первая строка вверху). Общее правило - делайте значения LA меньше количества ядер процессора, хотя есть еще много важных параметров.

У меня вопрос, эти цифры выглядят нормально? Они слишком высокие? Слишком низко?

Нет никакого «нормального». Статистика процессора, памяти, нагрузки и io дает хорошее представление о производительности. сдержанный но они не дают точного представления о том, как работает ваш сервер. Если вы хотите знать, какова производительность ваших транзакций, вам необходимо измерить скорость ваших транзакций. Если у вас нет обратного прокси-сервера и вы обслуживаете контент через Интернет, время, необходимое для обслуживания каждого запроса должен будет преобладать сетевое время. Один из способов решить эту проблему - измерить время, прошедшее до первого байта запроса (но, очевидно, это может вводить в заблуждение, если кодирование разбито на части). Другое решение - использовать такой инструмент, как Yahoo Boomerang, который измеряет производительность страницы, а не производительность запросов (и, следовательно, гораздо лучше согласовывается с пользовательским интерфейсом), но также собирает информацию о пропускной способности сети.

(Но я согласен с Андреем, что держать нагрузку ниже количества процессоров - хорошая идея)

Почему загрузка ЦП превышает 100%?

Потому что у вас несколько процессоров.