Он так долго об этом размышлял, что уже начал это проповедовать (М. Пруст).

Как уменьшить нагрузку на сервер с помощью admin-ajax в WordPress

FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...

Статья опубликована: 3 декабря 2017

Как уменьшить нагрузку администратора на сервер с помощью Ajax в WordPress
Для лучшего SEO и пользовательского опыта, специалисты всегда рекомендуют ускорить сайт на WordPress для конечного пользователя. В этом контексте если на ваш сайт заходит много пользователей,  приборная панель может  медленно реагировать WordPress.

Как уменьшить нагрузку на сервер с помощью admin-ajax в WordPress

Во время тестирования скорости вашего сайта на WordPress с помощью онлайн инструментов тестирования скорости, вы, возможно, заметили, что файл admin-ajax.php отвечает за медленный опыт загрузки. В этой статье мы расскажем об этом файле, и как вы сможете уменьшить время отклика сервера и загрузку процессора за счет уменьшения количества запросов, генерируемых admin-ajax.php.

Что админ-ajax.php в WordPress?

Еще в 2013 году, WordPress представил WordPress Heartbeat API, который обеспечил несколько важных функций, такие как функция автосохранения, по истечении логина предупреждения блокировки в то время как другой пользователь пишет или редактирует пост на WordPress.

Две очень характерные особенности Heartbeat API:

1. Автосохранение

Всякий раз, когда вы сохраняете проект поста и продолжаете работу над ним, WordPress автоматически сохраняет дополнения к посту. Существует четкое различие между автосохранением и сохранением проекта вручную. Проверьте следующий скриншот, который показывает оба типа экономит:

Как уменьшить нагрузку на сервер с помощью admin-ajax в WordPress

2. Сообщение блокировки

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

Как уменьшить нагрузку на сервер с помощью admin-ajax в WordPress

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

WordPress Heartbeat API генерирует запросы для связи с сервером и запускает события на прием/ответ данных. Как правило, это увеличивает нагрузку на сервер и в конечном итоге замедляет панель администратора WordPress.

Живой пример

Мы вошли в приборную панель WordPress и приступили к редактированию поста. Далее, мы оставили вкладку открытой в течение нескольких минут, и начали просмотр других вкладок. Приборная панель по – прежнему в системе, и вы можете увидеть, что admin-ajax непрерывно посылает запросы.

Как уменьшить нагрузку на сервер с помощью admin-ajax в WordPress

В соответствии с упомянутым выше билетом, администратор-ajax.php в WordPress генерирует запросы через каждые 15 секунд. Запросом может быть любая связь с сервером.

Ускорить панель администратора WordPress

Чтобы ускорить бэкэнд WordPress, лучший подход, это отключить Heartbeat API или по крайней мере установить более продолжительный промежуток времени, так чтобы он не генерировал запросы на сервере через каждые несколько секунд.

Установить плагин Heartbeat Control

Войдите в админку WordPress и перейдите к Плагины >> Добавить новый, найдите Heartbeat Control, установите и активируйте его.

Как уменьшить нагрузку на сервер с помощью admin-ajax в WordPress

Настройка плагина Control Heartbeat

Перейдите на вкладку Настройки >> Настройки Control Heartbeat. Там вы найдете три раскрывающихся меню для настройки плагина.

Настройка плагина Control Heartbeat

1. Разрешить Heartbeat:

Вы можете выбрать ту область, где Heartbeat API будет работать. Есть три варианта на выбор:

Разрешить Heartbeat

  • WordPress Dashboard : Это позволит Heartbeat API в WordPress панели.
  • Frontend : Это позволит API в веб – интерфейсе.
  • Редактор сообщений : Отметьте этот флажок, если вы хотите, позволить Heartbeat API включить на автосохранение и блокировки почтовых функций.

2. Отключить Heartbeat:

Выберите этот параметр, если хотите, чтобы WordPress Heartbeat API отключался в определенных местах. Будьте осторожны при выборе местоположения, потому что другие плагины могут также использовать WordPress Heartbeat API. Если вы единственный пользователь серверной части WordPress, я бы предложил отключить его везде, а затем проверить, нарушает ли он веб-сайт. Тем не менее, если ваш сайт имеет более одного пользователя, который регулярно вносит свой вклад, мы бы предложили, чтобы вы разрешили Heartbeat API только на страницах редактирования публикации.

Отключить Heartbeat

3. Изменить Heartbeat:

Эта выпадающее меню позволяет установить интервал времени, в пределах 0 – 300 секунд, чтобы выполнить админ Ajax запросы. Если установить его на 120 секунд, то запрос будет сгенерирован через каждые 120 секунд. Это позволит значительно снизить нагрузку на сервер. Настройте его в соответствии с вашими потребностями.

Изменить Heartbeat

Создание нескольких правил

Вы можете создать несколько правил, основанных на ваших требованиях. Например, вы хотите WordPress вызвать каждые 120 секунд, но после редактирования срабатывать на 60 секунд. Для этого необходимо создать два правила. Один для панели мониторинга WordPress и другой для редактора постов и установить их частоту в 120 и 60 соответственно.

Обнаружение плагинов, которые используют Heartbeat API

Теперь, когда вы настроили все, настало время, проверить, какие плагины замедляют веб-сайт с помощью файла admin-ajax.php.

Перейдите к GTmetrix, введите URL вашего сайта. Это займет несколько минут, чтобы проанализировать сайт. После этого перейдите к закладке Waterfall, и вы увидите, сколько времени файл принимает подключения и ответ. Прокрутите немного вниз, и посмотреть, есть ли запись POST админ-ajax.php . Если да, расширьте его и перейдите на вкладку Post. Здесь вы можете определить виновника. В нашем случае, плагин «desktop switch» использует файл admin-ajax.php и непрерывно посылает запросы на сервер. Это время, чтобы принять решение, либо заменить его другим плагином или удалить его.

Обнаружение плагинов, которые используют Heartbeat API

Заключительные слова

Учитывая его набор функций, Heartbeat API является очень полезным на вашем сайте WordPress. Однако, если он не используется правильно, это может увеличить время загрузки на бэкэнд WordPress и на сам сайт, посылая туда и сюда запросы в WordPress.

Есть только два решения этой проблемы. Либо отключить Heartbeat API/включить его только в нескольких местах.

Если вы используете какой – либо плагин кэширования, например, W3TC, не забудьте отключить кэш объектов. Это также ускорит приборную панель WordPress.

Если у вас есть какие-либо предложения или запрос, не стесняйтесь оставить комментарий ниже.


Читайте также

Добавить комментарий

Войти с помощью: 

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить
galka

Спасибо! Ваша заявка принята

close
galka

Спасибо! Ваша заявка принята

close