С помощью чего можно отследить тяжелые запросы в БД mysql?

Добрый день!
Каким (желательно бесплатным) инструментом можно отследить тяжелые запросы в БД mysql. Долго грузится сайт при загрузки страницы списка объявлений. Нужно выяснить на какой запрос тратится время. Сайт написан на php(yii).
Буду очень благодарен.
  • Вопрос задан
  • 3996 просмотров
Решения вопроса 1
Пригласить эксперта
Ответы на вопрос 3
В my.cnf нужно добавить:
[mysqld]
...
slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow.log
long_query_time = 10
log_queries_not_using_indexes = YES
log_slow_admin_statements = YES


  • long_query_time - время выполнения заброса в секундах
  • log_queries_not_using_indexes - запросы по столбцам без индексов
  • log_slow_filter - дополнительный фильтр по типам медленных запросов (не всегда и не везде доступен)
  • log_slow_admin_statements - логировать административные запросы

mysqldumpslow утилита для удобного просмотра логов, запускается локально там же где установлен mysql (параметры в запросе подменяются на символ 'S' если запустить с ключом -a то будет всё как в исходном запросе )
Ответ написан
Комментировать
un1t
@un1t
slow log
show processlist;
Ответ написан
Комментировать
veshetu
@veshetu
web-dev
до кучи:

mysqltop

утилита для linux типа top|atop}apachetop
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы