Какую нагрузку создает WordPress

WordPress без плагинов кеширования часто создает большую нагрузку на сервер. Как же узнать, сколько ресурсов тратиться на создание одной странички?

Как узнать потребление памяти WordPress?

Чтобы узнать, сколько же оперативной памяти потребляет движок со всеми плагинами нужно в файле footer.php, перед закрывающим тегом </body> вставить следующую строчку:

<?php
if (function_exists('memory_get_usage'))
echo round(memory_get_usage()/1024/1024, 2) . 'MB ';
?>

Как узнать количество запросов к БД?

Делаем те же действия, открываем footer.php и перед </body> добавляем строку:

<?php echo get_num_queries(); ?>

На голом WordPress со стандартной темой и виджетами у меня создается 23 запроса к БД при открытии любой записи. Однако на премиум темах с большим количеством настроек, блоков, плагинов, эта цифра может доходить до 50-60 запросов.

Как узнать время генерации страницы?

Опять аналогичным образом добавляем в footer.php строчку:

<?php timer_stop(1); ?>

Время генерации страницы в большей степени зависит от мощностей сервера. У меня на виртуальном хостинге страница чистого WP генерируется за 120мс.

Теперь можно объединить все показатели и выводить их в фиксированном блоке наверху сайта. И показывать только администраторам.

<?php if ( current_user_can( 'manage_options' ) ) { ?>
    <div style="position:fixed;top:50px;left:5px;padding:5px;font-size:11px;color:#fff;background:#000;">
        <?php timer_stop(1); ?> /
        <?php echo get_num_queries(); ?> /
        <?php if (function_exists('memory_get_usage')) echo round(memory_get_usage()/1024/1024, 2) . 'MB'; ?>
    </div>
<?php } ?>

Вот так это выглядит на сайте:

данные о нагрузке на WP