Если Вы обнаружили, что сайт внезапно начал тормозить, то возможно причиной тому является нагрузка на сервере. Нагрузка может быть связана как с несоответствием потребляемых вашим сайтом ресурсов, выбранным тарифом, так и атакой на сайт. Постараемся выяснить и проверить причины нагрузки.
Главным инструментом в этом деле станет команда консольная команда «top».
Параметр Cpu
Строка Cpu показывает сразу несколько параметров нагрузки:
Нагрузка на процессор (параметры sy, us, ni)
Высокие значения sy, us и ni самые понятные и простые для диагностики, поскольку показывают нагрузку на CPU, создаваемую запущенными программами. Смотрим в выводе команды top процессы по столбцу %CPU и оптимизируем их при необходимости. Либо просто добавляем мощность CPU на сервер.
Нагрузка ввода-вывода (параметр wa)
Высокие значения wa, а также высокий LA, говорят о простое процессов в состоянии D-state, связанном с дисковой подсистемой или с сетевыми проблемами.
Упрощенная модель состояний в Linux
D-state — состояние непрерывного сна (процессы, которые ожидают освобождения потока ввода-вывода)
R-state — процесс активен в настоящее время (выполняется в данный момент)
S-state — состоянии ожидания (sleeping), т.е. он ожидает какого-то события или сигнала
Т-state — процесс приостановлен сигналом STOP или выполнением трассировки
Z-state — «зомби», процесс, завершивший свое выполнение, но присутствующий в системе, чтобы дать родительскому
Посмотреть состояние процессов в системе можно с помощью команды ps с опциями: ps aux
Пример нахождения причин высокого wa и load average
Смотрим командой ps aux | grep D процессы в состоянии D.