MariaDB Slow Query Log - Повільні Запити, частина 1

  • Останнє оновлення: 3 Листопада 2023 р.
  • Перегляди: 258
  • Автор: Адмін
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

MariaDB - резервне копіювання бази даних - mysqldump

MariaDB - резервне копіювання бази даних - mysqldump

Як розширити конфігураційний файл MariaDB, includedir - include

Як розширити конфігураційний файл MariaDB, includedir - include