Назад | Перейти на главную страницу

Периодические проблемы с производительностью в веб-приложении Azure с ошибками ASYNC_NETWORK_IO

Наше веб-приложение внезапно начало периодически снижать производительность (медленная загрузка страницы, медленные вызовы 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 означает одно из двух.

  1. Ваш код недостаточно быстро обрабатывает данные из приложения. У вас есть большие наборы строк или обработка строка за строкой, и сервер приложений по какой-то причине просто не успевает за ними.
  2. Проблема с сетью.

Поскольку вы размещены в Azure, скорее всего, это номер 1, и проблема не проявлялась раньше, потому что наборы записей были недостаточно большими, чтобы вызвать проблему. Возможно, что сеть между серверами приложений / веб-серверами и сервером базы данных просто работает с максимальной нагрузкой, что потребует обращения в службу поддержки для проверки.