MariaDB Slow Query Log - Повільні Запити, частина 1
- Останнє оновлення: 3 Листопада 2023 р.
- Перегляди: 258
- Автор: Адмін
Колеги всім привіт.
У сьогоднішній статті я розповідатиму вам про такий компонент як повільні запити (Slow Query Log) в MariaDB. Повільні запити ці запити, які виконуються довше за вказаний вами час.
Вміст статті:
- Статус змінної slow_query_log.
- Директорія зберігання журналу повільних запитів.
- Включаємо ведення журналу slow_query_log.
- Настроювання ліміту часу long_query_time.
- Перевірка.
1. Статус змінної slow_query_log.
За включення журналу повільних запитів відповідає змінна slow_query_log. Вона за замовчуванням вимкнена. Для перевірки стану змінної скористаємося командою:
mariadb> SHOW VARIABLES LIKE 'slow_query_log';
Журнал повільних запитів вимкнено.
2. Директорія зберігання журналу повільних запитів.
За замовчуванням журнал буде зберігатися в директорії там, де у вас лежать всі файли бази даних (datadir). Я рекомендую зберігати такі речі в окремих директоріях. За ім'я журналу та директорії зберігання відповідає змінна slow_query_log_file. Для перевірки стану змінної скористаємося командою:
mariadb> SHOW VARIABLES LIKE 'slow_query_log_file';
Змінна slow_query_log_file є динамічною, і тому ми можемо змінити значення командою SET GLOBAL.
mariadb> SET GLOBAL slow_query_log_file = '/mariadb/log/slow_log_query.log';
Ну і додаємо змінну до конфігураційного файлу.
3. Включаємо ведення журналу slow_query_log.
Хоча змінна slow_query_log динамічна і через команду SET GLOBAL можна було б змінити значення з OFF на ON, але СУБД чомусь не змінює... Отже змінюватимемо через конфігураційний файл.
Збереження та перезапуск бази даних.
Перевірка.
Журнал увімкнено.
4. Налаштування ліміту часу long_query_time.
Змінна long_query_time відповідає за кордон ліміту часу, після закінчення цього часу запит буде вважатися повільним за виконанням. За промовчанням 10 секунд. Всі запити, які будуть виконатися довше 10 секунд, буде вважатися повільними і потраплятимуть до журналу.
mariadb> SHOW VARIABLES LIKE 'long_query_time';
За промовчанням 10 секунд.
Змінна long_query_time є динамічною і тому давайте спробуємо змінити ліміт з 10 до 5 секунд через команду SET.
mariadb> SET long_query_time = 5.0;
Ну і додаємо змінну до конфігураційного файлу.
5. Перевірка.
Давайте перевіримо роботу компонента. Виконаємо запит на 6 секунд.
Як бачимо в журнал потрапив запис, що запит виконувався 6.000605
Всім дякую, я сподіваюся, що вам моя стаття хоч чимось допомогла.