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

Опубликовано: 2022-12-07

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

Он позволяет отлаживать запросы к базе данных, ошибки PHP, перехватчики и действия, блоки редактора блоков, поставленные в очередь скрипты и таблицы стилей, вызовы HTTP API и многое другое…». И, особенно если вы разработчик, это инструмент, который вы хотите иметь в своем наборе инструментов, когда вам неизбежно приходится отлаживать ошибки или неожиданное поведение на веб-сайтах WordPress.

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

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

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

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

Когда вам нужен Query Monitor?

Монитор запросов является наиболее важным, когда вы выявили проблему на своем веб-сайте, будь то проблема с общей производительностью, проблемы на конкретной странице или проблемы, отмеченные с помощью такого инструмента, как GTMetrix или Google PageSpeed. Однако когда вы используете эти инструменты, они иногда могут маскировать реальную проблему.

Например, если вы видите низкую оценку производительности в своем анализе Google PageSpeed, есть ли мошеннический запрос к базе данных, который занимает больше времени, чем должен отображаться на каждой странице? Поскольку PageSpeed ​​не имеет доступа к серверной части вашего сайта, он не может предоставить вам более конкретную информацию, кроме как «эта часть вашего сайта должна быть быстрее». Вот тут-то и появляется Query Monitor.

Как выглядит интерфейс Query Monitor?

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

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

Запросы к базе данных

Если вы выберете элемент Queries в разделе «Монитор запросов» на панели администратора, вы увидите всплывающее окно в нижней части экрана с разбивкой различных запросов к базе данных, которые ваш сайт сделал для отображения страницы, на которой вы находитесь.

Здесь вы можете не только фильтровать запросы к базе данных по тому, какая часть WordPress сделала запрос изначально, но вы также можете легко увидеть, когда были сделаны повторяющиеся запросы к базе данных, которые могут выиграть от кэширования объектов.

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

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

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

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

Информация о шаблоне

Особенно при отладке неожиданного вывода на внешнем интерфейсе сайта очень полезно знать, какой шаблон используется и какие части шаблона загружаются. Это еще одна область, в которой Query Monitor может быть очень полезен.

Выбрав параметр Template в раскрывающемся списке «Монитор запросов», вы можете увидеть основной шаблон, который использовался для отображения страницы, а также любые части шаблона, которые использовались.

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

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

Это делает вкладку Template в Query Monitor очень удобным представлением для начала отладки интерфейсных проблем.

Например, если у вас есть подключаемый модуль, который должен применять стили к странице с помощью класса CSS, лучшее место для начала отладки связанных с этим проблем со стилями — использовать вкладку Template , чтобы проверить, добавляется ли этот класс тела вообще в страницу, как и ожидалось, прежде чем погрузиться в отладку CSS.

Хуки и действия

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

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

Пример использования вкладки Hooks & Actions в Query Monitor для отладки

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

Монитор запросов против WP_DEBUG

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

С Query Monitor вы не только получаете приятный, чистый интерфейс для просмотра этой информации, но и получаете всю ее из коробки, не изменяя кодовую базу, что позволяет очень быстро начать отладку проблем и выяснить, какая часть ваша кодовая база должна быть изменена.

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

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

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

Для чего вы используете Query Monitor и как это помогло вашему рабочему процессу? Дайте нам знать внизу в комментариях.