Лог медленных запросов в mysql
При оптимизации запросов в mysql нельзя обойтись без лога медленных запросов. Для того, чтобы лог писался, добавляем в секцию [mysqld] конфигурационного файла my.cnf параметры:
- log_slow_queries указывает путь к логу медленных запросов,
- long_query_time — минимальное время в секундах для попадания запроса в лог.
Пример:
long_query_time = 2
В этом случае все запросы, выполняющиеся 2 и более секунды, запишутся в файл /var/log/mysql/mysql-slow.log.
Для обработки и анализа лога медленных запросов предназначена консольная команда mysqldumpslow с таким синтаксисом: mysqldumpslow [options] [log_file ...].
mysqldumpslow группирует похожие запросы, заменяя числа и строки в запросах на N и 'S'.
Наиболее полезные опции это:
-s sort_type— тип сортировки запроса, обычно используются типы:t— по времени запроса,at— по среднему времени запроса,c— по количеству запросов;
-t N— показывает толькоNзапросов при выводе;-g pattern— фильтрует запросы по шаблонуpattern(в стиле командыgrep).
По умолчанию используется сортировка по среднему времени запроса -s at.
Например, чтобы получить 10 самых частых медленных запросов в файл top10-by-count.log:
Related posts: