Отладка 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.

Павел Федоров

Создатель этого сайта и многих других (на WordPress, конечно же). Любит WordPress и делает на нем всякие сумасшедшие сложные штуки, которые никто в здравом уме делать не станет. Умеет работать на фрилансе, в офисе, без офиса, без оглядки и без сна. Один из немногих участников программы FSA/FLEX, кого выдворили из Америки за плохое поведение. С тех пор умеет слушать. Обожает Star Wars, Ведьмака, горные лыжи, байдарку, пешие прогулки, спонтанные путешествия и хорошую компанию. Больше не боится vim.

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

%d такие блоггеры, как: