MariaDB Slow Query Log - Медленные Запросы, часть 1

  • Последнее обновление: 3 Апреля 2024 г.
  • Просмотры: 39
  • Автор: Админ
MariaDB Slow Query Log - Медленные Запросы, часть 1

Коллеги всем привет.

В сегодняшней статье я буду вам рассказывать о таком компоненте как медленные запросы (Slow Query Log) в MariaDB. Медленные запросы эти те запросы которые выполняются дольше указанного вами времени.

 

 Содержимое статьи:

  1. Статус переменной slow_query_log.
  2. Директория хранения журнала медленных запросов.
  3. Включаем ведения журнала slow_query_log.
  4. Настройка лимита времени long_query_time.
  5. Проверка.

 

1. Статус переменной slow_query_log.

За включения журнала медленных запросов отвечает переменная slow_query_log. Она по умолчанию выключена. Для проверки состояния переменной воспользуемся командой:

mariadb> SHOW VARIABLES LIKE 'slow_query_log';

slow_query_log

Журнал медленных запросов выключен.


 

2. Директория хранения журнала медленных запросов.

По умолчанию журнал будет храниться в директории там где у вас лежат все файлы базы данных (datadir). Я рекомендую хранить такие вещи в отдельных директориях. За имя журнала и директории хранения отвечает переменная slow_query_log_file. Для проверки состояния переменной воспользуемся командой:

mariadb> SHOW VARIABLES LIKE 'slow_query_log_file';

slow_query_log

 

Переменная slow_query_log_file является динамической, и по этому мы можем поменять значения командой SET GLOBAL.

mariadb> SET GLOBAL slow_query_log_file = '/mariadb/log/slow_log_query.log';

slow_query_log

 

Ну и добавляем переменную в конфигурационный файл.

slow_query_log


 

3. Включаем ведения журнала slow_query_log.

Хоть переменная slow_query_log динамическая и через команду SET GLOBAL можно было бы поменять значения с OFF на ON, но СУБД почему-то не меняет... Значит будем менять через конфигурационный файл.

slow_query_log

Сохраняем и перезапускам база данных.

 

Проверка.

slow_query_log

slow_query_log

Журнал включен.


 

4. Настройка лимита времени long_query_time.

Переменная long_query_time отвечает за границу лимита времени, по истечению этого времени запрос будет считаться медленным по выполнению. По умолчанию 10 секунд. Все запросы которые будут выполниться дольше 10 секунд будет считаться медленными и будут попадать в журнал.

mariadb> SHOW VARIABLES LIKE 'long_query_time';

slow_query_log

По умолчанию 10 секунд.

 

Переменная long_query_time является динамической и по этому давайте попробуем изменить лимит с 10 до 5 секунд через команду SET.

mariadb> SET long_query_time = 5.0;

slow_query_log

 

Ну и добавляем переменную в конфигурационный файл.

slow_query_log


 

5. Проверка.

Давайте проверим роботу компонента. Выполним запрос который будет выполниться 6 секунд.

slow_query_log

slow_query_log

Как видим в журнал попала запись, что запрос выполнялся 6.000605


 

Всем спасибо, я надеюсь что вам моя статья хоть чем-то помогла.

ПОХОЖИЕ СТАТЬИ

MariaDB как создать пользователя - учетную запись
Как изменить порт MariaDB по умолчанию в Linux
MariaDB восстановление базы из резервной копии - mysql
MariaDB сменить пароль пользователя