У нас есть набор приложений .NET /.NET Core / Node.js, работающий поверх SQL Server 2017 на AWS. Каждый день, в середине дня, база данных блокирует большое количество процессов с ожиданием IO_COMPLETION. Процессор никогда не поднимается выше 25%, но мы можем увидеть всплеск READ IOPS.
Новые соединения могут быть установлены, но первый запрос, который они выполняют, блокируется этими ожиданиями IO_COMPLETION. Поскольку это производственная база данных, мы должны решить ее как можно быстрее, когда это произойдет, и единственный способ, которым мы смогли это сделать, - это быстрый перезапуск базы данных, как только это произойдет.
Проблема в том, что мы не можем точно определить причину этой блокировки.
Мы определенно подозреваем, что недавно был введен какой-то плохой код, но поскольку это происходит только один раз в день, мы не знаем, что является причиной этого. , Я пытался посмотреть на монитор активности, чтобы определить процесс блокировки, но безрезультатно.
Есть идеи, как мы можем отследить, что вызывает этот высокий IO в рабочие часы?