
Я пытаюсь установить, в каких пороговых значениях должен работать мой выделенный сервер. Сервер — это Intel(R) Xeon(R)CPU L5420 @ 2.50GHz с 16GB RAM, работающий под управлением RedHat с Apache 2 и MySQL. На нем 16 доменов, и несколько из этих доменов получают более 3000 уникальных посетителей в день. Если я запускаю команду "top", я вижу следующее:
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%?
Большое спасибо.
решение1
У меня вопрос, эти цифры выглядят нормально? Они слишком высокие? Слишком низкие?
Нет «нормы». Статистика ЦП, памяти, нагрузки и ввода-вывода дает хорошее представление о том, какова производительностьограниченныйно они не дают точной картины того, как работает ваш сервер. Если вы хотите узнать, какова производительность ваших транзакций, то вам нужно измерить скорость ваших транзакций. Если у вас нет обратного прокси-сервера и вы обслуживаете контент через интернет, то время, необходимое для обслуживания каждого запросадолженбыть подчинено сетевому времени. Один из способов решения этой проблемы — измерить время, прошедшее до первого байта запроса (но очевидно, что это может быть довольно обманчивым, если кодировка разбита на части). Другое решение — использовать инструмент вроде Yahoo Boomerang, который измеряет производительность страницы, а не производительность запроса (и, следовательно, гораздо лучше соответствует пользовательскому опыту), но также фиксирует информацию о пропускной способности сети.
(Но я согласен с Андреем, что поддержание нагрузки ниже числа процессоров — хорошая идея)
Почему загрузка ЦП превышает 100%?
Потому что у вас несколько процессоров.
решение2
Вы упускаете важный параметр LA (средняя загрузка): (первая строка сверху). Общее правило - держите значения LA ниже числа ядер ЦП, хотя есть много других важных параметров.