Проблемы с медленным запросом - получать уведомления

Последние два дня мы сталкиваемся с критической проблемой из-за медленных запросов с mysql в нашей Prod Env (в основном это таблицы myisam, более старые)

Прямо сейчас мы отслеживаем список процессов, использование процессора и т. Д. Через nagios.

Возможно ли отследить медленный запрос, который возникает и занимает всю память и останавливает другие запросы для передачи.

Нужно уточнить, как обрабатывать медленные запросы в Live ENV и как получать уведомления о них.

2 ответа

Мы используем OpsDash для отслеживания медленных запросов и отправки нам оповещений по каналу Slack. Как упомянуто в другом ответе, определение "slow" может быть указано в файле conf.

Используете ли вы медленный журнал запросов MySQL? Это делает именно это, регистрирует точное mysql, который медленно. Вы не упомянули об этом, это может быть то, что вы ищете?

https://dev.mysql.com/doc/refman/5.1/en/slow-query-log.html

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

Запрос не должен быть ни административным оператором, либо должен быть указан --log-slow-admin-инструкции.

Запрос должен занимать не менее long_query_time секунд, или должен быть указан параметр --log-query-not-using-indexes, и в запросе не использовались индексы для поиска строк.

В запросе должны быть проверены как минимум строки min_examined_row_limit.

Тогда вы бы пошли на оптимизацию, выполнив EXPLAIN маршрут и все такое.

Другие вопросы по тегам