Первый шаг - понять, что происходит, когда вы достигаете одной Azure Function
конечной точки, шаг за шагом:
- Azure должен назначить ваше приложение серверу с емкостью,
- .Затем на этом сервере должна запускаться среда выполнения функций,
- Затем необходимо выполнить ваш код.
Я не знаю, почему выполнение 30 секунд занимает выполнениета же функция.Это нормально?Может быть, какой-нибудь холодный запуск?
Я думаю, что ответ связан с холодным стартом, следующее изображение представляет, что происходит, когда вы запускаете конечную точку приложения функции (Источник: Понимание холодного запуска без сервера ):
У меня были похожие проблемы, когда я использовал план потребления.Выделенный план может быть решением для вашего случая, полминуты для разогрева конечной точки довольно плохо.Чтобы сохранить функцию в тепле, у вас есть возможность использовать Премиум-план, который обещает следующее:
Когда вы используете Премиум-план, экземпляры узла Azure Functions добавляются и удаляются на основеколичество входящих событий так же, как план потребления.Премиум план поддерживает следующие функции: Постоянно теплые экземпляры, чтобы избежать холодного старта
Подробнее об этом можно прочитать: Премиум план (превью)
Дополнительная информация:
Будьте осторожны с упомянутым вариантом, потому что цены могут отличаться в зависимости от следующих факторов:
Вместо выставления счетов за выполнениеи израсходованная память, выставление счетов для плана Premium основано на количестве основных секунд, времени выполнения и памяти, используемой в необходимых и зарезервированных экземплярах.По крайней мере, один экземпляр должен быть всегда теплым.Это означает, что существует фиксированная ежемесячная стоимость за активный план, независимо от количества выполнений.
Я бы рассмотрел хотя бы в целях тестирования вышеупомянутый вариант, надеюсь, ответ поможет и даст вамидея, почему у вас медленный запуск.