Плагин монитора запросов

Опубликовано: 2021-02-19

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

Плагин Query Monitor — один из самых популярных инструментов (как вы уже догадались) для мониторинга запросов WordPress. Благодаря специальной команде, обеспечивающей отличную поддержку и регулярные обновления, плагин Query Monitor оказывает неоценимую помощь веб-разработчикам при отладке веб-сайтов.

Давайте подробнее рассмотрим плагин Query Monitor и посмотрим, как его можно использовать.

Знакомство с подключаемым модулем Query Monitor

Query Monitor — бесплатный инструмент для отладки WordPress. Как и все плагины WordPress, вы можете установить Query Monitor из административной области плагина.

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

Если вы наведете курсор на эти цифры, появится раскрывающееся меню со ссылками на дополнительные данные.

При нажатии любой из этих ссылок в нижней части страницы появляется окно с боковым меню, которое идентично изображенному выше меню, которое можно использовать для фильтрации результатов. На снимке экрана ниже показаны некоторые результаты для опции «Hooks & Actions»:

Последняя вкладка в меню называется «Условия» и не одинакова для каждой страницы. Например, в бэкенде это выглядит так:

Но если вы просмотрите то же меню в интерфейсе своего веб-сайта, вы увидите другую информацию, поскольку используются альтернативные условия:

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

Что делает плагин Query Monitor

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

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

Некоторые примеры монитора запросов

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

Устранение синтаксической ошибки

В этом примере мы использовали пользовательский SQL-запрос в шаблоне отдельного сообщения.

 //// SLOW QUERY TEST global $wpdb; $prefix = $wpdb->prefix; $slowq = "SELECT * FROM {$prefix}_options WHERE option_name LIKE '%siteurl%'"; $results = $wpdb->get_results( $slowq ); echo $results[0]->option_value;

Когда мы обновляем страницу, мы видим, что у нас нет результатов для вывода PHP на печать. Кроме того, вкладка Query Monitor стала красной.

Если вы наведете курсор на предупреждение, появится другое более подробное предупреждение, которое гласит: «Ошибки базы данных (1)». Нажмите здесь, и вы сможете подробно увидеть ошибку, которая поможет вам понять синтаксическую ошибку.

Теперь, если вы исправите ошибку и перезагрузите страницу, предупреждение должно исчезнуть.

Как видите, мы быстро нашли причину нашей проблемы с помощью плагина Query Monitor. Без возможности отслеживать запросы таким образом у вас могут уйти часы на то, чтобы понять, почему у вас нет вывода эха и вы все еще не видите лишний «_», который следует удалить.

HTTP-запросы замедляют загрузку сайта

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

Google Analytics или плагины для комментариев, такие как Disqus, Jetpack или Facebook Comments, — это плагины, которые делают именно это.

Внешний скрипт извлекает запросы с других веб-сайтов. Это не обязательно плохо (любой веб-сайт WordPress, вероятно, использует некоторые внешние ресурсы). Но когда вы используете подключаемый модуль или скрипт, который запрашивает несколько внешних ресурсов, важно убедиться, что они вам действительно нужны, и вы применили наилучший возможный обходной путь для минимизации внешних вызовов.

Вы сами можете увидеть разницу, загрузив скрипт jQuery на внешний сервер. Взгляните на время запроса, используя вкладки «Запрос» и «Вызовы HTTP API» в Query Monitor. Затем загрузите скрипт jQuery на свой собственный сервер и сделайте так, чтобы ваш веб-сайт вызывал его из этого нового внутреннего местоположения. Вы можете удивиться, если сравните разницу между временем внешнего и внутреннего запросов.

Используйте эти инструменты, чтобы проверить любые плагины, которые вы используете, чтобы увидеть, не замедляют ли они работу вашего сайта.

Шаблоны тем

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

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

Вывод

Наличие правильных инструментов может значительно облегчить работу разработчика, и плагин Query Monitor определенно стоит добавить в набор инструментов! Максимально используйте плагин для мониторинга используемых ресурсов, таких как память или кешированный контент, или отследите плагин, который вызывает проблемы с производительностью вашего веб-сайта.

Если вам нужна дополнительная информация об использовании Query Monitor, загляните на их страницу GitHub, где представлен полный список функций. Удачной отладки!