WordPress.org. Wordpress query monitor


Отладка SQL запросов в WordPress с помощью Query Monitor

При работе с такими API как WP_Query, Options, Metadata или с базой данных напрямую через объект $wpdb, важно помнить, что каждый SQL запрос влияет на время загрузки сайта. Плагин Query Monitor покажет вам все запросы в базу данных на текущей странице, их источник, время выполнения и многое другое.

Плагин Query Monitor

Плагин Query Monitor

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

Подобная информация поможет сразу понять насколько тяжелой является текущая страница для сервера. Для сравнения, свежая установка WordPress потребляет порядка 18 мб памяти, около 20 SQL запросов за 3 миллисекунды и в среднем 250 миллисекунд для генерации главной страницы.

При переходе в раздел Queries можно увидеть список всех SQL запросов в базу данных, их источник, компонент, количество найденых строк и время исполнения каждого запроса. Список легко отфильтровать по значениям Caller и Component.

Список SQL-запросов

Список SQL-запросов

Если вы заметили что какой-то из запросов в вашем коде занимает слишком много времени, или вызывается слишком часто, то возможно стоит оптимизировать функцию, которая его вызывает или же сам запрос. Начинать оптимизацию SQL запросов мы советуем с функции EXPLAIN в вашей консоли MySQL или phpMyAdmin.

Кроме SQL-запросов в плагине Query Monitor есть разделы с условными тегами, с параметрами запроса WP_Query, со списком всех событий и фильтров на текущей странице и многое другое. Одной из самых интересных функций данного плагина является возможность установить специальный Cookie, который позволит просматривать информацию от имени любого пользователя или анонимно.

Плагин Query Monitor является бесплатным, распространяется под лицензией GPL и доступен в официальной директории плагинов на сайте WordPress.org. Если вы ищите альтернативы или другие инструменты для отладки в WordPress, не забудьте попробовать плагин Debug Bar.

wpmag.ru

Отладочный плагин Query Monitor | Жизнь с WordPress

Query Monitor - посмотреть запросы WordPress

Приветствую!

Вот захотелось посмотреть sql-запросы, выполняемые при загрузке страниц WordPress. Узнать сколько их выполняется, какое время выполнения. Возможно, выявить какие-то слабые места или ошибки.

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

Вот сейчас буду разбираться с Query Monitor и излагать здесь полученные знания.

Плагин Query Monitor можно скачать здесь. Подходит для версий WordPress, начиная с 3.5

Плагин имеет более 6 000 активных установок и только положительный оценки (на момент написания статьи – 71 пятерка). Примечательно, что автор не принимает пожертвования, а просит только оставить отзыв, если плагин понравился. Живут же люди! =) Мы б уже и рекламы навешали и кнопок для пожертвования и т.д. =)

Вообщем, по всем данным видно, что серьезная и профессиональная работа.

Устанавливаем и активируем плагин.

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

После активации плагина в админке и на сайте вверху появляется меню:

 

Меню Query Monitor

 

У меня оно красного цвета, потому что на сайте выявлены какие-то ошибки.

Сначала по числам. которые мы видим:

1. Время загрузки страницы в секундах (6,11s)

2. Размер страницы в мегабайтах (36,82MB)

3. Время выполнения всех sql-запросов, выполненных при загрузке страницы, сек. (0,1230s)

4. Количество выполненных sql-запросов (40Q)

Наводим мышь на меню и смотрим пункты подменю

 

Меню Query Monitor

 

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

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

Давайте посмотрим какая ошибка найдена.

Missing Dependencies my-script-handle

http://wordpress-life.ru/wp-content/plugins/x-scroll-to-top-responsive/js/my-script.js wp-color-picker (missing)

Вот, знакомый “товарищ”. В статье плагины прокрутки страницы вверх я рассмотрел пять плагинов и выбрал для своего блога как раз x-scroll to top, в котором сейчас и выявлена ошибка.

В принципе, я уже замечал одну проблему в этом плагине – стрелка на кнопке не всегда прорисовывалась (кнопка – это не файл с изображением). Поэтому откажусь от использования x-scroll to top. Нет плагина – нет проблемы.

После деактивации плагина красный цвет меню Query Monitor изменился на коричневый. Осталось 3 PHP Notices и 1 PHP Stricts. Эти предупреждения уже не сильно критичны, пока на них не буду обращать внимание.

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

Теперь давайте посмотрим sql-запросы, собственно, причина благодаря которой был найдет этот плагин.

Жмем в меню пункт Queries и нас перебрасывает в раздел со списком всех выполненных sql-запросов.

Кстати, при очередном обновлении страницы мне показало, что есть 3 медленных sql-запроса.

1. Запрос, который получает самые популярные (просматриваемые) записи.

2. Запрос, получающий топ комментаторов в текущем месяце.

3. Запрос, получающий топ комментаторов в прошлом месяце.

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

Если бы страниц не кэшировались, то вчера во время рекламной кампании ВКонтакте сайт точно бы лег отдохнуть. =)

Думаете у вас на сайте все хорошо? Рекомендую и вам установить плагин Query Monitor и проверить сайт. Наверняка будут обнаружены и ошибки и медленные SQL-запросы.

Обязательно напишите о выявленных проблемах. Мне это интересно. Возможно, смогу помочь вам разобраться с ними.

Успехов!

Вы можете пропустить чтение записи и оставить комментарий. Размещение ссылок запрещено.

wordpress-life.ru

Query Monitor | WordPress.org

Query Monitor is the Developer Tools panel for WordPress. It includes some advanced features not available in other debugging plugins, including Ajax and REST API debugging, and the ability to narrow down its output by plugin or theme.

Query Monitor focuses heavily on presenting its information in a useful manner. It adds an admin toolbar menu showing an overview of the current page, with complete data shown in a panel once you select an item.

For complete information, please see Query Monitor’s GitHub repo.

Here’s an overview of some of what’s shown:

Database Queries

Filtering queries by component or calling function makes it easy to see which plugins, themes, or functions are making the most (or the slowest) database queries.

Hooks
Тема
Помилки PHP
Запит
Скрипти та стилі
Мови
HTTP запити

uk.wordpress.org


Смотрите также

Prostoy-Site | Все права защищены © 2018 | Карта сайта