Перегруз процессора сервера из-за файла admin-ajax.php
Если использовать недорогую конфигурацию хостинга, при долгом редактировании поста, часто можно увидеть сообщение о том, что обслуживание сайта прекращено из-за чрезмерной нагрузки на процессор сервера. Полистав логи, можно убедиться, что это происходит из-за частого обращения к файлу admin-ajax.php.
Файл admin-ajax.php относится к так называемому «heartbeat control» — буквально — контролю сердечного ритма. Реально эта функция означает периодические запросы на предмет изменений в среде WordPress примерно раз в 15-30 секунд. Этим самым проверяется связь с админкой и реализуется автосохранение. На это тратится немало ресурсов процессорного времени, что и вызывает зачастую превышение скромного потолка процессорного времени нашего недорогого тарифа хостинга.
Избавиться от такой систематической перегрузки можно, установив плагин «Heartbeat Control», с помощью которого можно отключить данный сервис, либо сделать запросы реже.
Установка плагина стандартная, после чего в разделе «Настройки» заходим на страницу «Heartbeat Control».
Настроек немного.
В «Control heartbeat locations» устанавливаем режим работы функции «Heartbeat», выбирая из 4 значений:
- по умолчанию
- отключить везде
- отключить в админ панели
- разрешить только на странице редактирования записей.
В пункте настроек «Override heartbeat frequency» можно установить свою периодичность сердечного ритма, если вы его не отключили в предыдущем пункте. Лучше оставить число запросов равным раз в 60 секунд на странице редактировании записей. Если и в этом случае будет выводиться сообщение о перегрузке процессора, следует отключить эту функцию совсем.