Cloud with rain
.:G
G:.
0 and 1 serie, black on white
pulled card
myjsp.feelinglinux.com
ver. 1.1.9-4
Hallo, welcome to my world.
Here you can find some stuff about computer science.
<<< Enjoy your visit! >>>
0 and 1 serie, white on black

Настройка MySQL лога для медленных запросов SQL

          Написано: Maryna Pylnyk, 21/01/2017     

Бывает так, что наше приложение уже, так сказать, в полном рабочем режиме, и мы хотим проанализировать есть ли у нас запросы, которые замедляют его работу. Существует несколько способов настройки.

Конфигурационный файл my.cnf

Внесём следующие настройки в конфигурационный файл my.cnf (/etc/my.cnf):
в раздел [myslqd]

#настройка включения выявления медленных запросов (0-выключение)
slow-query-log = 1
#настройка файла для регистрации медленных запросов 
slow-query-log-file = /tmp/log/mysql/slowQuery.log
#настройка времени, после которого начнётся процесс выявления медленных запросов (в секундах) 
long_query_time = 2

Т.е. любой запрос, на выполнение которого уйдёт более 2 секунд будет зарегистирован в файле /tmp/log/mysql/slowQuery.log (при этом мы должны позаботиться о создании нужной файловой структуры). Замечу, что данный метод требует перезапуска сервиса MySql.
Реклама



Изменение глобальных переменных

Если вы не имеете возможность перезапустить сервер MySql, можно изменить настройки используя глобальные переменные, в этом случае настройки произведутся динамически:
mysql> show variables like '%slow%';
+---------------------+-----------------------------+
| Variable_name       | Value                       |
+---------------------+-----------------------------+
| log_slow_queries    | OFF                         |
| slow_launch_time    | 2                           |
| slow_query_log      | OFF                         |
| slow_query_log_file | /tmp/log/slowQuery.log      |
+---------------------+-----------------------------+
4 rows in set (0.00 sec)

mysql> set global slow_query_log=1;
Query OK, 0 rows affected (0.00 sec)

mysql> set global slow_query_log_file = '/database/log/slowQuery.log';
Query OK, 0 rows affected (0.00 sec)


mysql> show variables like '%slow%';
+---------------------+-----------------------------+
| Variable_name       | Value                       |
+---------------------+-----------------------------+
| log_slow_queries    | ON                          |
| slow_launch_time    | 2                           |
| slow_query_log      | ON                          |
| slow_query_log_file | /tmp/log/slowQuery.log      |
+---------------------+-----------------------------+
4 rows in set (0.00 sec)
Если slow_query_log и slow_query_log_file являются глобальными переменными, то long_query_time является и глобальной (GLOBAL) и потоковой (SESSION). Поэтому нужно указывать это значение и в запросе и в установке:

mysql> show global variables like '%long%';
либо же 
mysql> show session variables like '%long%';

+---------------------------------------------------+----------+
| Variable_name                                     | Value    |
+---------------------------------------------------+----------+
| long_query_time                                   | 4.000000 |
| max_long_data_size                                | 1048576  |
| performance_schema_events_waits_history_long_size | 10000    |
+---------------------------------------------------+----------+
3 rows in set (0.00 sec)

mysql> set global long_query_time = 3;
Query OK, 0 rows affected (0.00 sec)
либо же 
mysql> set session long_query_time = 3;
Query OK, 0 rows affected (0.00 sec)

Параметр long_query_time в этом режиме может быть установлен с точностью до микросекунд.
Реклама

Эти же переменные можно использовать как опции при запуске MySql с командной строки. Так же можно использовать такого вида настройки для debug вашего приложения.

Если Вы нашли эту статью полезной для себя
поделитесь ею с друзьями в социальных сетях или поставьте "Мне нравится" (вверху справа) .
Большое спасибо!


Вы должны разрешить сохранение куки-файлов и согласиться на правила о конфиденциальности для использования "поделиться" и "мне нравится".
Вы всегда можете отказаться от сохранения куки-файлов и можете удалить куки "cookieconsent_status" из вашего браузера.

 

Tools (myjsp.feelinglinux.com)
Gioco: allenamento con la tastiera Strumenti di codifica/decodifica URI (%-encoding) e Base64 Strumenti di calcolo online per IP e Reti
QUIZ GAME
Quiz game

Поиск в @myjsp.feelinglinux.com

Реклама