FreeBSD - FreeBSD - MySQL - лог медленных запросов
Материал из Wiki - Iphoster - the best ever hosting and support. 2005 - 2024
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