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

Query Monitor один из наиболее известных и активных плагинов, показывающий различную информацию для отладки WordPress. Но в статье речь о других вариантах.

Найти медленные запросы с помощью WP Perfomance Profiler

Плагин создала Interconnect/It.  Вот описание его работы https://interconnectit.com/products/wordpress-performance-profiler/. Стоит $10.

Можно также скачать форк на github бесплатно: https://github.com/khromov/wp-performance-profile.

Суть плагина — помочь найти медленно работающие запросы к базе, и показать к какому коду/плагину они относятся. Причем сделать без настроек и без сложных для разбора данных.

Плагин рекомендуется ставить в папку mu-plugins, чтобы запустить раньше и выловить все обращения.

После установки плагин создаст свои таблицы в базе, в админке появится пункт меню Profiler. В настройках включаем какие запросы анализировать (фронтенд, админка, cron, ajax) и частоту профилирования (базовую и более подробную).

1 — обрабатывать каждый сотый запрос.

Но можно запустить профилирование вручную, добавив к странице параметр запроса ?profiler, или ?profiler=basic.

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

Плагин можно ставить на живой сайт для сбора и анализа статистики работы всего сайта.
к содержанию ↑

Профилирование кода с помощью PHP расширения

XHprof (https://github.com/phacility/xhprof) — иерархический отладчик на уровне функций, с выводом в HTML формате. В интернет много статей по его установке, настройке и использованию.

Но этот отладчик не работает с версиями PHP > 7, поэтому для них рекомендуется ставить новый форк tideways (https://tideways.com/profiler/xhprof-for-php7).

В статье https://pressjitsu.com/blog/profiling-wordpress-performance/ написано как его подключить к WordPress. Процесс не тривиальный,  но и не очень сложный. Также придется ставить UI для просмотра.

В случае XHGui нужно ставить сервис mongodb и расширение для PHP.

Еще один способ, консольная утилита для работы с xhprof (https://github.com/phperf/xh-tool). Простой в установке PHP скрипт, данные Tideways отобразил исправно, документация удобная и понятная. Мне понравился.
к содержанию ↑

Отладка кода WordPress с помощью команды wp-cli profile

В отличие от предыдущего способа профилирования, команда wp profile более удобная и понятная в установке и использовании на сайтах WordPress (https://github.com/wp-cli/profile-command).

Она помогает сэкономить часы при при попытках найти медленно работающий код.

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


к содержанию ↑

Подведение итогов

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

Плагин WP  Performance Profiler  кроме оценки единичных запросов позволяет собрать общую статистику по сайту.

А команда Profile незаменимый инструмент для любителей консоли и WP CLI .

Пишите ваши комментарии. Обращайтесь, если нужна помощь.

Оставить комментарий

avatar
  Подписаться  
Уведомление о