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

Все, что нужно сделать, — это вставить приведенный ниже код в любой файл вашей темы в зависимости от того, где вы хотите вывести результат. Например, если вы хотите вывести результат в самом верху сайта, вставьте его в файл header.php, а если внизу — в файле footer.php

<?php echo get_num_queries(); ?> queries in <?php timer_stop(1); ?> seconds.

В результате вы увидите что-то вроде: "64 queries in 1.248 seconds". Например, чистый, только что созданный WordPress сайт без дополнительных плагинов на стандартной теме Twenty Eleven в среднем загружается за 0,180 секунд и посылает 8 запросов к Базе Данных.

Вы можете в этом сами убедиться, перейдя по ссылке demo.wpcafe.org — это наш тестовый сайт:

Дополнительную информацию о функциях get_num_queries(); и timer_stop(); вы можете почитать в Codex здесь и здесь соответственно.

Источник: WPBeginner.com

Вам понравился материал?

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

Такой e-mail уже зарегистрирован. Воспользуйтесь формой входа или введите другой.

Вы ввели некорректные логин или пароль

Извините, для комментирования необходимо войти.

10 комментариев

сначала новые
по рейтингу сначала новые по хронологии
Вячеслав

Отличные темы, спасибо за подробное описание

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

Евгения

Совершенно верное замечание.
Хедер: 2 запроса, 0,223 секунд
Футер: 145 запросов, 0,902 секунды

Всё чётко написано.

А есть способы узнать эти данные без вывода их на сайт?

Вы можете не выводить это на главной, а, скажем, в админке в самом низу в подвале. Просто вставьте в файл functions.php такой код:

function remove_footer_admin () {
echo get_num_queries()." queries in ".timer_stop()." seconds.";
}
add_filter('admin_footer_text', 'remove_footer_admin');

Добрый день. Интересная информация, спасибо. Только на фронтенде работающего сайта, кот. посещают юзеры информация о кол-ве запросов к БД и время загрузки чаще всего не нужна. А если вставить код в functions.php, как Вы описали, то информация будет показывается о времени загрузки и запросам к БД во время работы в админке, правильно? Тогда это уже не та информация. Можно ли вывести эту информацию в верхнюю висящую панель управления админки?

Ну сохраняй ее в файл или в бд и потом смотри. Тебе механизм дали- дальше мозги включи.

а какое время можно считать нормальным?

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