26Янв 2017

0

614

Проблема с I/O Wait 99% на CentOS

тормозит centos 7, ускоряем centos 7

Решаем проблему с I/O Wait 99% на CentOS 7

В следствии обновления и перехода на CentOS на новую версию 7, мы на dedicated серверах часто начали сталкиваться с тормозами сервера на CentOS, при том что мощный конфиг, но все равно I/O 99% и ничего  не сделаешь с этим. Пробовали менять и режимы работы PHP, ничего не давало результата, на сервере на котором должно работать 150 сайтов легко, с трудом работает 20.

Перепробовали все, в поисках проблемы, и обнаружили довольно интересный факт, который внесли разработчики CentOS в новой 7 версии. Оказывается, они решили по-умолчанию ставить процессор в энергосберегающий режим. проверить так ли это, можно довольно просто, достаточно авторизоваться по SSH на своем сервере и выполнить команду:

cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor

Если Вы видите вот такой вот ответ:

cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
powersave
powersave
powersave
powersave

Есть следующие режимы работы процессора:

  • powersave — энергосберегающий (наша проблема, тормозит все и ужасно)
  • ondemand — меняет частоту по требованию (но почему во время резких скачков нагрузки забывает это делать)
  • performance — максимальная частота всегда

Есть и другие, но они значительно замедляют работу Вашего сервера. Что бы решить эту проблему раз и навсегда и наслаждаться быстрой работой сервера, достаточно выполнить следующую команду:

tuned-adm profile throughput-performance

И процессор начнет работать на максимальной частоте, Вы сразу же увидите падение нагрузки на 20-40%.

Если у Вас возникли сложности, Вы всегда можете обратится к нам, за помощью.