Возможные причины роста нагрузки

Возможные причины роста нагрузки

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

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

Наиболее частые причины роста нагрузки

Чаще всего рост нагрузки на CPU/MySQL вызывается одной из следующих причин:

  • Рост посещаемости. Это является хорошим знаком для вашего бизнеса, но говорит о необходимости оптимизации сайта или же выбора более мощного технического решения, подходящего для новых масштабов вашего проекта.
  • Использование неоптимизированных скриптов. В данном случае нужно оптимизировать код сайта самостоятельно или при помощи специалистов.
  • Отключение кэширования. Кэширование позволяет меньше обращаться к файлам и базе данных, тем самым заметно снижая нагрузку на сервер.
  • Действие вредоносного кода. Возможно, ваш сайт был взломан и заражен вредоносными файлами; более подробно о взломах и их предотвращении можно почитать в отдельной статье.
  • Нежелательная активность поисковых или иных ботов. Такую причину можно диагностировать с помощью анализа логов доступа к сайтам. Вы можете включить логи в панели управления аккаунтом или запросить их у технической поддержки, указав интересующие вас даты.
  • Увеличение объема обрабатываемых данных. В общем случае это говорит о росте бизнеса, а значит требует оптимизации сайта или увеличения ресурсов.

Анализ показателей мониторинга

Чтобы более точно определить причину роста нагрузки, рекомендуем обратить внимание на то, какой именно показатель растет.

CPU

Высокая нагрузка на CPU означает интенсивное использование процессорных ресурсов.

Возможные причины:

  • рост посещаемости сайта;
  • выполнение ресурсоемких PHP-скриптов;
  • ошибки в коде и бесконечные циклы;
  • большое количество одновременно выполняемых задач;
  • работа тяжелых плагинов, модулей или расширений;
  • вредоносный код на сайте.

Если нагрузка на CPU растет регулярно, рекомендуется проверить последние изменения на сайте, проанализировать логи и убедиться в отсутствии вредоносных файлов.

MySQL

Высокая нагрузка на MySQL означает, что выполнение запросов к базам данных занимает значительное время.

Возможные причины:

  • большое количество обращений к базе данных;
  • неоптимизированные SQL-запросы;
  • отсутствие необходимых индексов;
  • работа плагинов и модулей, активно использующих базу данных;
  • рост посещаемости сайта.

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

Для просмотра текущих запросов к MySQL можно использовать SQL-запрос:

SHOW FULL PROCESSLIST;

RAM

Высокое потребление оперативной памяти может быть связано с выполнением ресурсоемких процессов или большим количеством одновременно работающих приложений.

Возможные причины:

  • обработка больших объемов данных;
  • работа тяжелых скриптов;
  • ошибки в приложениях;
  • запуск большого количества процессов одновременно;
  • вредоносная активность.

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

IO и IOPS

Рост показателей IO и IOPS свидетельствует об интенсивной работе с файловой системой.

Возможные причины:

  • резервное копирование;
  • импорт и экспорт данных;
  • обработка изображений и видео;
  • создание большого количества файлов;
  • активная работа кэша;
  • большое количество операций чтения и записи.

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

nPROC

Высокое значение nPROC означает большое количество одновременно работающих процессов.

Возможные причины:

  • высокая посещаемость сайта;
  • медленно выполняющиеся скрипты;
  • большое количество параллельных запросов;
  • зависшие процессы;
  • часто запускаемые задачи cron.

Если показатель длительное время повышен, новые процессы могут запускаться с задержкой или не запускаться вовсе.

Следить за запущенными на аккаунте процессами вы можете при подключении по SSH с помощью утилит top, htop

Резкие скачки нагрузки

Кратковременные пики нагрузки могут возникать по следующим причинам:

  • резкий рост посещаемости;
  • запуск рекламных кампаний;
  • выполнение резервного копирования;
  • импорт или экспорт данных;
  • работы на сайте;
  • ошибки в работе скриптов;
  • вредоносная активность;
  • DDoS-атаки или большое количество запросов от ботов.

Для анализа причины рекомендуется сравнить графики за последние 2 часа, 24 часа и 7 дней, а также определить, какой показатель нагрузки вырос в момент возникновения проблемы.