Наше веб-приложение внезапно начало периодически снижать производительность (медленная загрузка страницы, медленные вызовы ajax от <1 секунды до более 20 секунд). Единственная подсказка - когда приложение замедляется, мы видим, что сервер MS SQL сообщает об ожиданиях ASYNC_NETWORK_IO. Эти ошибки и замедление происходят как при большой, так и при легкой загрузке сервера (в зависимости от количества подключений).
Это приложение работает без проблем в течение нескольких месяцев, единственными недавними изменениями, внесенными в Azure, являются добавление автоматического масштабирования и резервного копирования SQL-сервера несколько месяцев назад. Само приложение находится в процессе плановой разработки и развертывания.
Мы посмотрели на код, чтобы увидеть, могли ли какие-либо недавние изменения кода повлиять на производительность с точки зрения приложения -> SQL, но ничего не нашли (все вызовы базы данных проходят через NetTiers DAL).
Сводка: развертывание Azure приложения MVC 4, мультитенантное с автоматическим масштабированием MS SQL Server, с резервным хранилищем Azure Storage NetTiers DAL.
Любые идеи по проблеме прерывистой производительности приветствуются.
ASYNC_NETWORK_IO означает одно из двух.
Поскольку вы размещены в Azure, скорее всего, это номер 1, и проблема не проявлялась раньше, потому что наборы записей были недостаточно большими, чтобы вызвать проблему. Возможно, что сеть между серверами приложений / веб-серверами и сервером базы данных просто работает с максимальной нагрузкой, что потребует обращения в службу поддержки для проверки.