Сегодня вновь научно-познавательная статья по настройкам хостингов: по тесту ниже рассмотрим решения вопроса снижения потребляемой нагрузки сайтом на сервер. Подопытным “кроликом” выступит хостинг Спринтхост: вполне себе приличная площадка, бесплатный сертификат SSL, доступные тарифы… – я всегда рекомендую этот хост своим клиентам
Но, какой бы ни был приличный хостинг, однако, время от времени к нам на почту прилетают оповещения о том, что, мол, наш сайт превысил потребление ресурсов сервера на текущем тарифе! Шутки шутками, а могут и заблокировать аккаунт – сайты “зависнут” в прострации)) – весёлого мало!
Итак: настроим планировщик Cron (это обстоятельство заметно снижает нагрузку, если верно подойти к вопросу), а также узнаем как выключить HeartBeat API некоторое иное полезное…
Ознакомьтесь с тонкостями обновления WordPress 5.0, перед тем как выполнять какие-то правки на сайте…
имейте в виду, что нагрузку чаще всего создают ошибки сайта: “левые скрипты” банальные синтаксические ошибки в правках файлов сайта, некачественные плагины и прочее…
Но если вы уверены в безошибочной отработке своего сайта, то предложенный ниже текст как раз для вас – изучив который, сможете заметно сократить нагрузку на сервер, избежав тем самым нарекания хостеров!..
как ограничить частоту запросов к сайту роботами Яндекса
Более требовательным администраторам веб площадок:
…по ссылке возможно узнать в подробностях о работе серверов: обслуживании серверов…https://ivit.pro/it-uslugi/obsluzhivanie-serverov/… полезно для тех администраторов, которые, к примеру, намереваются приобрести для своего ресурса выделенный сервер.
Словом, будет весьма и весьма нелишне прогуляться по ссылке и изучить вопрос о том, что вообще есть такое сервер и каким образом его обслуживать – плюсы!..
В плане знаний и великого начала, давайте как-то организуем частоту запросов к сайту роботами Яндекса и Google, таким образом мы снизим уровень потребления ресурсов: узнаем, как увеличить интервал между последовательными запросами со стороны поисковых роботов.
Для роботов Яндекса и Google такие настройки осуществляются в кабинете Яндекс.Вебмастер: “Индексирование” \ “Скорость обхода” (с).
Всего-то нужно указать требуемые значения частотности запросов к сайту роботами…
Отмечаем радиокнопку “Задать вручную”, сдвигаем ползунок в оптимальное положение (в нашем случае, возможно, логичнее сдвинуть влево).
планировщик Cron
Второй этап: для того чтобы снизить нагрузку потребления ресурсов сайтом, пройдём в панель управления хостингом Спринтхост:
В левом горизонтальном меню открываем управление опциями “Планировщик Cron”.
Когда ваши сайты перенесены (либо только установлены) на хостинге, рекомендуется отключить произвольный запуск планировщика и настроить его по расписанию:
Если у вас Вордпресс: настройте произвольно планировщик WP-cron (встроенный в CMS планировщик задач).
…планировщик активируется при любом обращении клиента (запросе) к странице сайта.
Например, задание должно выполниться в 14:30, однако, в этот момент на сайте посетителей нет, в этом случае запуск отложится до первого запроса пользователем.
Как понимаете, подобная работа планировщика cron вызовет всплеск (скачок) потребления ресурсов, как только на сайте появятся гости, и ели их много! …и вот чтобы этого “пике” не происходило, следует отключить произвольные запросы WP-cron в файле конфигураций.. а вызывать скрипт, скажем так – “планировщик cron” по расписанию, через планировщик в Панели управления хостингом.
Планировщик cron отключить возможно таким образом:
добавьте в файл wp-config.php
(файл располагается в корневой директории сайта) где-нибудь после стартового тега <?php
такие строки:
// отключаем планировщик Cron
define('DISABLE_WP_CRON', true);
Пройдя по ссылкам из статьи: как увеличить лимит потребляемой памяти php
– wp memory limit – отыщете описания для некоторых полезных констант WP для файла конфигурации…
как добавить произвольное задание Планировщика Cron – хостинг Спринтхост
После редакции ядра сайта (описанного выше), переходим в аккаунт хостинга, там и установим произвольные значения заданий планировщика Крон:
Вертикальное меню: “Дополнительно”\”Планировщик Cron” – и добавляем задание (все эти настройки выполняются для конкретного сайта расположенном на площадке хоста):
…в выпадающем списке выбираем: “Запрос по HTTP (Wget)”.
…далее, в появившейся строке дописываем имя домена, как в примере ниже:
/usr/local/bin/wget -O /dev/null -q ‘https://домен.ru/wp-cron.php‘
Сохраняем правки!
…получится приблизительно так (еще вариант снять блокировку аккаунта):
1 * * * * /usr/local/bin/wget -q -O /dev/null http://domain.ru/wp-cron.php
Напоминаю: произвольные задания планировщика Cron добавляются отдельно для каждого сайта!
На примере первой строки (иллюстрация выше): задание будет выполняться каждую первую минуту часа!
Важно! для нескольких сайтов целесообразнее распределять задания так, чтобы выполнение cron не приходилось на одну и ту же минуту.
как выключить HeartBeat API – лишние запросы
Вкратце о функции HeartBeat API (и как это влияет на нагрузку на сервер):
HeartBeat API – уже давно является встроенным функционалом WordPress, обеспечивающим следующее:
- Автосохранение записи/страницы и пр;
- Блокирует работу с записями либо страницами для других пользователей сайта, – в том случае если запись или же страница редактируется другим юзером;
- Информирование о том, что пользователь пока ещё находится в административной части сайта (бэкенд).
Как это выполняется? – функцией HeartBeat обеспечивается связка между браузером (посредством которого редактируется сайт) и сервером (где физически расположен сайт), а это, как понимаете, – запросы, которые могут в некоторых случаях создавать неимоверную нагрузку!
Постоянные запросы выполняются с интервалом в 15-30 секунд! к одному конкретному файлу admin-ajax.php
– и, что важно помнить, с любой страницы административной панели.
Как ограничить поиск обновлений в админке – огромный плюс по времени загрузки…
Для выключения HeartBeat API – лишние запросов – необходимо внести изменения в файл functions.php
внутри папки активной темы (шаблона) сайта.
Вообще, всегда советую создать отдельный плагин функций для сайта – как это сделать и чем это полезнее, описано в этом посте.
Путь к файлу functions.php
выглядит так: /хост_путь_до_корня_сайта/wp-content/themes/имя_темы/functions.php.
Если будете отключать регистрацию посредством файла функций – поместите указанный ниже код куда-нить ниже стартового <?php
– советую группировать функции в файле по темам, скажем так:
add_action('init', 'no_active_heartbeat', 1);
function no_active_heartbeat() {
wp_deregister_script('heartbeat');
}
Этот код аннулирует регистрацию отработки скрипта HeartBeat для всего сайта: жёсткая метода!!
Более тонкие настройки возможно реализовать с плагином HeartBeat Control – мягко!..
...А мне остаётся только раскланяться... и пожелать полезной работы в сети
mihalica.ru !
Охо-хо…Были у меня проблемы с этим Спринтхостом. Сайт висел часов пять при переносе домена с аккаунта на аккаунт. ((
проблемы у всех могут быть: главное их решить)) и не всегда, как часто бывает, хостеры виноваты))
Спасибо за отзыв!