Вступление
Вы администратор WordPress и вам в очередной раз пришло письмо от вашего хостинга, что у вас превышена нагрузка на процессор сервера? Вам пора разобраться, что такое нагрузка на CPU, как за ней следить и как её снизить.
Что такое нагрузка на CPU
Аббревиатура CPU известна всем пользователям компьютеров всех видов и типов. Это Central Processor Unit — центральный процессор.
Нагрузка на CPU, в контексте хостинга, это процентная доля вашего использования ресурсов центрального процессора сервера в рамках вашего тарифного плана.
За 100% принимается допустимая нагрузка одного ядра, 200% — полная допустимая нагрузка двух ядер.
При аренде вами шаред хостинга, вы априори делите CPU с другими пользователями хостинга. То есть вы по определению не можете использовать 100% ядра сервера.
Именно по этому при аренде общего хостинга вам нужно выяснить какая нагрузка на CPU вам разрешена по вашему тарифному плану.
Найти эти данные вы можете в договоре с хостингом. Называться данный параметр будет, скорее всего, так «максимальное суммарное потребление ресурсов процессора в сутки», измеряться может в минутах или процентах. Всё зависит от ПО хостинга.
Для администратора WordPress важно понимать, что нагрузка на сервер необязательно связана с правильной работой сайта. Если вы установили плохо «собранный» плагин или программный код создал бесконечный цикл или неправильное регулярное выражение, то нагрузка на CPU возрастёт кратно.
Помимо этого, есть нагрузка на CPU со стороны базы данных MySQL. Она лимитирована в меньшей степени, но она есть.
Итак, каждый раз, когда посетители вашего сайта его просматривают и каждый раз когда вы его администрируете, создаётся нагрузка на CPU вашего сервера. Однако эта нагрузка также создается, когда ваш сайт посещают законные или атакуют незаконные боты.
Чтобы снизить нагрузку на сайт со стороны законных ботов, от них закрывают часть каталог сайта в файле robots.txt
. Это не единственное назначение этого файла и о нём мы поговорим в отдельной статье.
Как подсчитывается нагрузка на CPU
Нагрузка на CPU считается как время, которое тратит процессор сервера на обработку процессов пользователей. Какие при этом происходят процессы неизвестно. Однако их можно понять по логам веб-сервера (Apache). В них вы найдете дату, время, название процесса и кол-во тактов, которые потратил процессор на работу этого процесса.
Для WordPress максимальную нагрузку могут создавать:
- экспорт и импорт БД (резервное копирование);
- пиковая посещаемость сайта;
- не оптимизированная БД;
- невалидный программный код скрипта;
- попытки взлома;
- неправильно написанные плагины.
Где посмотреть нагрузку на CPU?
В панели управления вашего хостинга должен быть раздел: Статистика CPU, Нагрузка и т. п. В этом разделе будут данные, скорее в виде графика, с указанием суточного лимита и нагрузкой вашего сайта (посуточно, еженедельно, по месяцам). Пример такого графика на фото.
Почему нагрузка на CPU должна контролироваться?
Если вы не получаете письма от хостинга и ваш сайт не блокируют, то вам не нужно каждый день следить за нагрузкой. Хостинг всё сделает за вас. Однако раз в месяц нагрузку стоит просматривать, чтобы выявлять пиковые нагрузки и их причины. Вполне возможно, что ваш сайт пытались взломать или уже взломали.
Как уменьшить нагрузку?
Кратковременные или пиковые нагрузки можно анализировать по лог-файлам вашего сайта.
Периодические (систематические) повышенные нагрузки нужно анализировать по графику нагрузок с коротким временным интервалом (если он доступен).
Выявить «тяжелый» плагин сайта вы можете из браузера, используя инструменты разработчика, вкладка Network. Она разложит процессы по времени, и вы увидите плагины которые грузятся дольше секунды. Их нужно убрать.
Повышенную нагрузку от ненужный поисковых ботов вы можетt снизить в файле robots.txt
, создав там директиву crawl-delay
или закрыть неважные разделы сайта от обхода ботов.
Можно управлять нагрузкой директивами для веб-сервера Apache в файле .htaccess
. Там вы сможете использовать user-agent
для ограничений.
Можно управлять нагрузкой через плагины безопасности. В них есть блокировка пользователей и ботов по их IP, стране и т. п.
Чтобы нагрузка на CPU снизилась, администратор WordPress должен использовать кэширование средствами CMS. То есть установить плагин кеширования (на выбор): WP Super Cache, W3 Total Cache, WP Rocket, WP Fastest Cache, Comet Cache, Autoptimize.
Заключение
Если у вас молодой сайт, то нагрузка на CPU сервера вас будет мало волновать. С ростом посетителей и улучшении функционала проблема нагрузки вас посетит. Лучшее решение этой проблемы совместно с технической поддержкой хостинга.
©wpkupi.ru