Что такое Sql и MySql: мониторинг запросов к базе данных, времени загрузки страницы и потребления памяти блога WordPress

Здоровья всем уважаемым посетителям моего блога! Сегодняшняя статья посвящена очень важным понятиям, с которыми в дальнейшем неоднократно будем сталкиваться, предпринимая шаги по оптимизации WordPress блога. Я хочу дать ответ на часто задаваемый вопрос: что такое Sql и MySql, а также предоставить инструменты для мониторинга количества запросов. Кстати, на современных хостингах сама база данных для вашего сайта может быть создана в несколько кликов.

Начнем с начала. Sql (Structured Query Language - язык структурированных запросов) - специализированный язык, который используется для влияния на реляционные базы данных. По большому счету он не является языком программирования, как, например, C или PHP. Это просто средство для взаимодействия с базами данных (в нашем случае с базой данных блога wordpress).

Sql выполняет следующие задачи: определяет структуру данных, загружает данные из базы, обрабатывает (производит удаление и обновление информации), осуществляет контроль доступа (то есть определяет возможность редактирования и удаления данных на уровне отдельных пользователей), а также сохраняет данные при каких-либо форс- мажорных обстоятельствах, например, системных сбоях.

MySql - это система управления базами данных (СУБД). На данный момент эта самая востребованная СУБД, которая пользуется большой популярностью. Наверняка, на хостинге, которым вы пользуетесь, управление базами данных осуществляется именно MySql (оптимизация mysql базы данных). Как я уже говорил, язык sql предназначен для взаимодействия с реляционными базами данных, то есть с теми, в которых данные построены по табличному принципу, где каждому элементу соответствует определенная строка (запись) или столбец (поле).

С понятиями Sql и MySql мы еще встретимся не раз при обращении к теме оптимизации блога вордпресс, в частности, когда я расскажу о программе PhpMyAdmin, которая является незаменимым инструментом для блоггера при работе с базой данных на сервере MySql. Я думаю, пока информации на эту тему достаточно, но представление об этом вебмастеру необходимо иметь, особенно тому, кто занимается созданием динамической платформы, такой как блог WordPress.

MySql запросы: информация о количестве запросов к базе данных

Чтобы с успехом заниматься внутренней оптимизацией (более подробно об ускорении WordPress сайта читайте здесь), в том числе снижением нагрузки на сервер (например, используя кэширование при помощи плагина Hyper Cache), нам необходимо следить за количеством запросов к базе данных (вкратце mysql запросы). А для этого необходимо иметь под рукой возможность быстрого мониторинга этой очень важной информации. Постараемся вывести информацию о mysql запросах в подвал (footer) сайта.

Честно говоря, не знаю, какой плагин на данном этапе мог бы помочь, но знаю точно, какой точно не сможет. Внимание!  Если у вас последняя версия wordpress, ни в коем случае не используйте плагин WP Tuner, поскольку он не адаптирован к новым версиям и сам плагин очень давно не обновлялся. В противном случае могут возникнуть трудности со входом в админ панель. Кстати, если кто-то уже имеет эти трудности, обращайтесь, постараюсь помочь.

Но, в общем-то без плагина вполне можно обойтись. Хотя плагин предоставляет более подробную информацию, нам сейчас наиболее важно количество запросов mysql. Для осуществления этой задачи воспользуемся кодом:

<?php if (is_user_logged_in()) { ?>
<?php echo get_num_queries(); ?> queries in <?php timer_stop(1); ?> seconds.
<?php } ?>

Вставляем вышеназванный код в файл footer.php, редактируя его через админ панель wordpress («Внешний вид»→«Редактор»→«footer.php»):

В результате после загрузки любой страницы блога внизу в области футера (подвала) получим информацию, касающуюся количества запросов mysql к базе данных за данное время:

Этот код позволяет выводить только количество запросов к базе данных, однако для оптимизации wordpress важно использовать еще некоторую информацию, например, время загрузки web-страницы (скорость загрузки страниц сайта) и потребление памяти. Чтобы добиться этого, можно использовать расширенный код, который  вводим, редактируя файл function.php (этот код можно ввести в самый конец):

function usage() {
printf(('%d / %s'), get_num_queries(), timer_stop(0, 3));
if ( function_exists('memory_get_usage') ) echo ' / '
. round(memory_get_usage()/1024/1024, 2) . 'mb ';
}
add_action('admin_footer_text', 'usage');

Для того, чтобы информация о количестве запросов mysql, скорости загрузки страницы и количества потребляемой памяти появилась в футере страницы, необходимо ввести еще одну конструкцию:

<?php if (current_user_can('level_10')){ ?>
<small><?php usage();?></small><?php } ?>

На этот раз эти две строки необходимо прописать в файле footer.php в том месте, где будет появляться информация. Я, например, вставил сюда:

В итоге получаем следующую картину при загрузке одной из страниц блога:

Замечу, что эта информация будет доступна только админу wordpress блога, то есть вам. Посетители WP блога ее не увидят. Рассмотрим еще раз по пунктам, что за информацию мы получаем после проделанных выше действий, используя пример на вышеприведенном примере:

  • Количество запросов к базе данных (запросы mysql) - 30
  • Время загрузки страницы - 0.378 сек
  • Потребление памяти при создании данной вебстраницы - 26.52 mb

Пожалуй, я обо всем проинформировал и вы теперь уяснили, что такое  Sql  и MySql, а также как получать необходимую информацию о запросах к базе данных mysql. В дальнейших постах обязательно продолжу эту тему и мы разберем, как использовать эту информацию для оптимизации wordpress, так что подписывайтесь на обновления моего блога, чтобы не пропустить интересный и нужный материал.

Еще статьи по данной теме:
Самые интересные публикации из рубрики: Создание сайтов

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Чтобы ввести любой код, вставьте его между [php] и [/php]. Ссылка (URL), помещенная в текст комментария, не будет активной. C целью ее выделения и более удобного копирования можно заключить ее между тегами <pre> и </pre>.