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

Высокая средняя загрузка из-за высокой загрузки ЦП системы (% sys)

У нас есть сервер с высокой посещаемостью. Недавно мы переехали из

2 x 4-ядерный сервер (8 ядер в / proc / cpuinfo), 32 ГБ ОЗУ, работает CentOS 5.x, чтобы

2 сервера по 4 ядра (16 ядер в / proc / cpuinfo), 32 ГБ ОЗУ, под управлением CentOS 6.3

Сервер, на котором запущен nginx в качестве прокси, сервер mysql и sphinx-search.

Трафик высокий, но базы данных mysql и sphinx-search относительно малы, и обычно все работает очень быстро.

Сегодня средняя загрузка сервера составила 100 ++. Посмотрев на top и sar, мы заметили, что (% sys) очень высокое - от 50 до 70%. Использование диска было менее 1%. Мы попытались перезагрузить компьютер, но после перезагрузки проблема не исчезла. В любой момент на сервере было не менее 3-4 ГБ свободной оперативной памяти.

Единственное сообщение, показанное dmesg, было «возможное SYN-лавинное сообщение на порт 80. Отправка файлов cookie.».

Вот фрагмент sar

11:00:01        CPU     %user     %nice   %system   %iowait    %steal     %idle
11:10:01        all     21.60      0.00     66.38      0.03      0.00     11.99

Мы знаем, что это проблема трафика, но мы не знаем, как действовать дальше и где искать решение.

Есть ли способ узнать, где именно используются эти «66,38%».

Мы ценим любые предложения.


обновление: сегодня средняя загрузка "нормальная" и "sys%" тоже в порядке ~ 4%. Однако сегодня трафик примерно на 20-30% меньше, чем вчера. Это заставляет меня думать, что вчерашняя проблема связана с некоторыми настройками ядра для TCP.

Я бы установил поверх репозитория EPEL. Atop должен помочь вам определить причину активности% sys.

Atop также имеет функцию atop -r, которая позволяет вам перемещаться по журналам назад и вперед во времени с помощью клавиш t / T.

Также просмотрите / proc / interrupts и свои / var / log / httpd / logs и отсортируйте их по ip, чтобы увидеть, есть ли какой-либо подозрительный IP-адрес, вызывающий ненормальный объем трафика httpd.

Я бы записал cat / proc / interrupts в файл журнала. Ищите высокие дельты в перерывах.