FreeBSD - FreeBSD - MySQL - лог медленных запросов


Материал из Wiki - Iphoster - 'the best ever hosting and support

Перейти к: навигация, поиск

Самые выгодные сервера‎ в рунете


MySQL - лог длинных запросов


Добавить в секцию [mysqld]:

log=/var/log/mysql.log
log-slow-queries=/var/log/mysql-slow-queries.log
long_query_time=2
log-long-format


Создаем логи:

% touch /var/log/{mysql.log,mysql-slow-queries.log}
% chown mysql:mysql /var/log/{mysql.log,mysql-slow-queries.log}


Описание:

Директива log фиксирует все запросы к базе данных в /var/log/mysql.log
Директива log_slow_queries фиксирует все запросы к базе данных которые выполняются больше long_query_time (сек). Так же в этот файл будут добавлены все запросы которые привели к полному скану таблицы (не были
использованы индексы)


Для проверки фиксирования медленных запросов используйте:

mysql> select benchmark(99999999,md5(116));


Для обработки и анализа лога медленных запросов предназначена команда mysqldumpslow

Для того чтобы ее использовать нужно установить mysql51-scripts (для MySQl 5.1):

% cd /usr/ports/databases/mysql51-scripts && make install clean


Опции mysqldumpslow:

-s sort_type — тип сортировки запроса, обычно используются типы:
t — по времени запроса,
at — по среднему времени запроса (по-умолчанию)
c — по количеству запросов;
-t N — показывает только N запросов при выводе;
-g pattern — фильтрует запросы по шаблону pattern.

Пример:

% mysqldumpslow -s t -t 10 /var/log/mysql-slow-queries.log
Индекс цитирования