LINUX.ORG.RU
решено ФорумAdmin

Высокий load average. Диагностика.

 , , ,


0

1

Привет.

Накидайте каких-нибудь ссылок по диагностике проблем с нагрузкой.

Есть железка 2xE5-2620v2 с SAS-дисками. Памяти достаточно. Трудится в роли веб-сервера. Периодически load average вырастает до 30-40, когда вырастает до 60-70, то сервер начинает уходить в оффлайн. Съедает ЦП в основном userspace. Я примерно догадываюсь какие процессы жрут ресурсы, но хочется диагностировать поточнее.

На какие параметры обратить внимание? Куда смотреть в первую очередь? Хочу что-нибудь почитать на эту тему. Спасибо.

Съедает ЦП в основном userspace

LA растет не обязательно из-за нагрузки на ЦПУ, возможно просадка идет по диску и/или по HDD (возможно даже из-за симафора) или по всему понемногу ...

Я примерно догадываюсь какие процессы жрут ресурсы, но хочется диагностировать поточнее.

А зачем догадыватся если можно посмотреть ? top/atop/iotop

zaz ★★★★
()
Ответ на: комментарий от zaz

А зачем догадыватся если можно посмотреть ? top/atop/iotop

Посмотрел htop. IO wait околонулевой, в основном userspace. В iotop в основном mysql (логично). Скорость чтения/записи невысокая, иногда бывают пики скорости записи (Total DISK WRITE) до 100МБ/с, но я считаю это мелочи. Т.е. на диск не похоже совсем.

Памяти много, все кэшируется, MySQL тоже.

P.S. Изучаю atop, раньше не пользовался.

Black_Roland ★★★★
() автор топика
Последнее исправление: Black_Roland (всего исправлений: 1)
Ответ на: комментарий от Black_Roland

atop самый информативный в таких случаях, срузу нужно смотреть общий IDLE + IOWAIT по CPU и utilisation по дискам и сетевым интерфейсам. С загрузкой дисков и сетевых интерфейсов есть небольшой баг в расчетах поэтому значения от 90% до 110% можно считать за стабильные 100%.

PS. Есще у atop есть полезный режим демона, он складирует всю статистику в файл и если например ночью были проблемы с нагрузкой на сервере можно запустить atop в режиме чтения логов и посмотреть что происходило ночью.

zaz ★★★★
()
Последнее исправление: zaz (всего исправлений: 1)
Ответ на: комментарий от zaz

atop самый информативный в таких случаях, срузу нужно смотреть общий IDLE + IOWAIT по CPU и utilisation по дискам и сетевым интерфейсам. С загрузкой дисков и сетевых интерфейсов есть небольшой баг в расчетах поэтому значения от 90% до 110% можно считать за стабильные 100%.

Более-менее разобрался, действительно полезная штука. Парсить немного неудобно, но потом привыкаешь.

PS. Есще у atop есть полезный режим демона, он складирует всю статистику в файл и если например ночью были проблемы с нагрузкой на сервере можно запустить atop в режиме чтения логов и посмотреть что происходило ночью.

У меня даже Munin стоит. Только там не видно какие именно процессы съедают ресурсы. Видны только пики load average и userspace cpu.

В общем atop только подтвердил мое предположение — на сервере запущено несколько фоновых воркеров Gearman, вот они и нагружают систему. Временно остановил их.

А На диск нагрузки почти нет, только в моменты когда Redis пишет дамп. На сеть совсем копейки.

Пока писал пост воркеры все это время лежали и load average упал до 13-18. Пусть еще полежат, посмотрю в динамике, но уже неплохо. Сейчас нагружают систему только воркеры PHP-FPM и MySQL.

В общем похоже тред можно закрывать :) Посмотрел код воркеров — там ужас, надо переписывать. Еще надо будет slow log в PHP-FPM включить.

Спасибо большое за помощь.

Black_Roland ★★★★
() автор топика
Ответ на: комментарий от anonymous

lscpu | grep -m1 'CPU(s)'

24

Где-то тут на ЛОРе кто-то даже писал, что если load average равен количеству ядер, то сервер себя хорошо окупает :) Но у меня LA сильно больше — сервак падает.

Black_Roland ★★★★
() автор топика
Ответ на: комментарий от Black_Roland

Не всегда, LA показывает сколько процессов в системе ждут/потребляют ресурсов в данный момент. Наример если LA 8 это значит что 8 процессов /threads нужнаются в некоторых ресурсах сервера. А дальше все зависит от того какой ресурс им нужен если это CPU и у вас 24 ядра то все ОК, так как 12 ядер есще остается в запасе. Если же все 8 процессов/потоков ожидают ввод/вывод от HDD а HDD у вас 1, то это уже не хорошо и может привести к DOS и/или падению сервера.

zaz ★★★★
()

Проблема была еще и в распухших логах PHP-FPM (12ГБ) :)

Сейчас все хорошо.

Black_Roland ★★★★
() автор топика
Последнее исправление: Black_Roland (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.