У меня довольно богатое развертывание на Azure: 4 больших экземпляра, обслуживающих около 300-600 запросов в секунду. В нормальных условиях: "Среднее время отклика" составляет от 70 до 150 мс, но иногда оно может вырасти до 200-300 мс, но это абсолютно нормально.
Хотя, один или два раза в день (не в "Rush Hours" ), я вижу такую картинку на вкладке "Мониторинг веб-сайта":
Таким образом, количество запросов в минуту значительно падает, среднее время отклика увеличивается на 3 минуты, а через некоторое время все возвращается к норме.
Во время этого "Blackout" отбрасывается только 0,1% запросов (Http Server Errors с таймаутом), другие запросы просто ждут в очереди и обычно обрабатываются через несколько минут. Хотя, не все клиенты готовы ждать: - (
Использование памяти под 30% все время, загрузка процессора составляет до 40-50%.
Что я уже проверил?:
- Трассировка для запрограммированных запросов: они были отключены в случайных местах.
- Дросселирование для Azure Storage и других используемых компонентов: без дросселирования.
- Я также попытался маршрутизировать весь трафик через CloudFlare: и увидел те же проблемы.
Что может быть причиной таких проблем? Что я могу проверить далее? Спасибо всем заблаговременно!
Обновление 1: BenV предложил хорошую вещь, чтобы попробовать, но, к сожалению, ничего не показал:-(
Я настроил процессы, перерабатывающие каждые 500 тыс. Запросов, а также добавленные рабочие узлы, поэтому загрузка процессора сейчас составляет менее 40% в течение всего дня, но все еще появляются отключения.
Обновление 2: Project использует ASP.Net MVC 4.