секунды. В таблице 400к записей, select + where IN по первичному ключу не больше 20 айдишников. 3-4 зависания на 4к запросов. Как отловить в чем проблема? В остальное время запросы отвечают за 0,02 секунды
Slow query log
и что там я увижу?) время запроса и сам запрос? Я и так точно знаю что за запрос, когда он выполнялся и сколько по времени. Мне интересно почему так
Почему - смотри план запроса!
EXPLAIN показывает что используется первичный ключ и все быстро отрабатывает. Тут тогда нужен EXPLAIN лог всех медленных запросов, как такое сделать?
Ну, покажи залом и explain
Для начала имея эту информацию ты сможешь попробовать выполнить то же запрос (и выяснить, дело в нем или в инфраструктуре)
да, я выполнил, плюс факт то что еще 4к таких запросов бекенд выполнил затем и все ок, говорит что проблема не в запросе, но я дальше не понимаю в чем может быть. Типо в нагрузке? куда смотреть, какие логи есть. в zabbix на графики? там вроде все норм
4к запросов на один м тот же ключ?
в мониторинге вы можете ничего и не увидеть потому что разрешение не то. один вариант вам уже предложили: slog_query_log = 1, long_query_time=0 потом на логи натравливаете pt-query-digest и смотрите что в этот момент было медленным еще. второй вариант - это взять pt-stalk подобрать условие так, чтобы он триггерился в необходимый момент и ждать срабатывания, а потом разбираться в том, что он нагенерил. в обоих случаях советую посмотреть доки прежде чем запускать. тулы вам ничего не сломают, но нужно понимать что будете делать
Обсуждают сегодня