При роботі з такими API як WP_Query , Options, Metadata або з базою даних безпосередньо через об'єкт $ wpdb, важливо пам'ятати, що кожен SQL запит впливає на час завантаження сайту. Плагін Query Monitor покаже вам всі запити в базу даних на поточній сторінці, їх джерело, час виконання і багато іншого.
Плагін Query Monitor
Після встановлення плагіну Query Monitor у верхній панелі WordPress з'явиться нове меню, яке відразу відображає час генерації сторінки, пікове споживання пам'яті, час витрачений на всі SQL запити і кількість запитів до бази даних MySQL на поточній сторінці.
Подібна інформація допоможе відразу зрозуміти наскільки важкою є поточна сторінка для сервера. Для порівняння, свіжа установка WordPress споживає близько 18 мб пам'яті, близько 20 SQL запитів за 3 мілісекунди і в середньому 250 мілісекунд для генерації головної сторінки.
При переході в розділ Queries можна побачити список всіх SQL запитів в базу даних, їх джерело, компонент, кількість знайдених рядків і час виконання кожного запиту. Список легко відфільтрувати за значеннями Caller і Component.
Список SQL-запитів
Якщо ви помітили що якийсь із запитів в вашому коді займає надто багато часу, або викликається занадто часто, то можливо варто оптимізувати функцію, яка його викликає або ж сам запит. Починати оптимізацію SQL запитів ми радимо з функції EXPLAIN у вашій консолі MySQL або phpMyAdmin.
Крім SQL-запитів в плагіні Query Monitor є розділи з умовними тегами, з параметрами запиту WP_Query, зі списком всіх подій і фільтрів на поточній сторінці і багато іншого. Однією з найцікавіших функцій даного плагіна є можливість встановити спеціальний Cookie, який дозволить переглядати інформацію від імені будь-якого користувача або анонімно.
Плагін Query Monitor є безкоштовним, поширюється під ліцензією GPL і доступний в офіційній директорії плагінів на сайті WordPress.org . Якщо ви шукайте альтернативи або інші інструменти для налагодження в WordPress, не забудьте спробувати плагін Debug Bar .