Задержки выполнения функции Azure - PullRequest
0 голосов
/ 22 ноября 2018

В настоящее время у меня возникает проблема с вызовами функций Azure.

Когда я вызываю AF в первый раз (после долгого неиспользования), он начинает выполнение кода практически мгновенно.Но если я вызываю ту же функцию через несколько секунд после ее завершения, это занимает 10-15 секунд, между моментом ее запуска и моментами, когда он выполняет код.(Каждый раз, когда я повторяю операцию, результат остается прежним: 1 вызов - очень быстрый, все остальные вызовы: задержки).

[FunctionName("GetUserDestinationsList")]
public static async Task<HttpResponseMessage> Run([HttpTrigger(Settings.DefaultAuthorization, "get", Route = null)]HttpRequestMessage req, TraceWriter log)
{
    try
    {
        log.Info($"Start Execute function");
        var allDestinations = await DestinationsFactory.GetAllDestinations();
        IEnumerable<KeyValuePair<string, string>> values = req.GetQueryNameValuePairs();
        ...
}

Я регистрирую начало выполнения кода.Вот результат вызовов:

  • Первый вызов функции:

2018-11-22 08: 24: 30.517 - Функция запущена (Id =c86f9b71-03ed -...)

2018-11-22 08: 24: 30.955 - запуск Выполнить функцию

2018-11-22 08: 24: 39.600 - функция выполнена (Успешно,Id = c86f9b71-03ed -..., Duration = 9062ms)

  • Второй вызов:

2018-11-22 08: 24: 44.482 - Функция запущена (Id= 12eb3f0e-a180 -...)

2018-11-22 08: 24: 53.489 - Запуск Выполнить функцию

2018-11-22 08: 24: 58.534 - Функция выполнена (Успешно, Id = 12eb3f0e-a180 -..., продолжительность = 14047 мс)

  • Третий вызов:

2018-11-22 08: 25: 04.479 - Функция запущена (Id = 30784cc2-d2de -...)

2018-11-22 08: 25: 17.985 - Запуск Выполнить функцию

2018-11-22 08: 25: 22.856 - Функция выполнена (Success, Id = 30784cc2-d2de -..., Duration = 18381ms)

Как вы можете видеть, есть задержки во втором и третьем вызове.

Три вызова принимают одинаковые параметры и возвращают один и тот же результат в конце, только начало занимает больше или меньше времени.

Я также могу воспроизвести эту проблему локально.

Любая идея?

РЕДАКТИРОВАТЬ: Если я жду около 20 секунд между каждым вызовом, больше нет задержек.Похоже, они происходят только тогда, когда звонки находятся близко друг к другу.

...