Azure API Manager увеличил время отклика при масштабировании функции - PullRequest
0 голосов
/ 21 апреля 2020

После некоторого нагрузочного тестирования с помощью функции azure в плане потребления, который масштабируется, я столкнулся с интересным сценарием. Прямо сейчас у меня есть приложение-функция, которое ожидает http-пост за экземпляром управления API. Приложение-функция выполняет некоторую обработку и возвращает ответ вызывающей стороне. Менеджер API пока не имеет кэширования, так как мы ожидаем, что процесс просто пройдет через тело для обработки.

Когда я вызываю функцию напрямую, приложение масштабируется соответствующим образом, и я вижу НЕКОТОРЫЕ «холодные» запуски из приложения-функции, но среднее время ответа составляет менее 200 мс от локального запроса до azure для устойчивого нагрузить.

Когда я вызываю функцию через менеджер API и получаю устойчивую нагрузку на экземпляр, я начинаю видеть 30-60 секунд времени отклика около 5-минутной отметки нагрузочного теста.

Загрузка составляет 2 запроса в секунду и полностью асинхронна, поэтому блокировка отсутствует. Кроме того, нет никаких вызовов базы данных, это исключительно вычислительная функция.

Кто-нибудь еще видел такое поведение?

1 Ответ

0 голосов
/ 21 апреля 2020

Кажется, это проблема настройки или LB. Что вы можете сделать, это уменьшить настройку functionTimeout на своем хосте. json (например, 20 секунд), а затем добавить политику повторных попыток в управлении API.

https://docs.microsoft.com/en-us/azure/api-management/api-management-advanced-policies#example -7

...