Я пытаюсь установить, с какими порогами должен работать мой выделенный сервер. Сервер - это процессор 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%?
Потому что у вас несколько процессоров.