Время выполнения функции Google Cloud увеличивается с увеличением числа активных экземпляров - PullRequest
0 голосов
/ 13 апреля 2020

У меня есть функция python, и я хотел бы иметь возможность одновременно запускать несколько сотен экземпляров. Тем не менее, кажется, что время выполнения увеличивается, чем больше я запускаю. Когда я запускаю один, это занимает ~ 300 секунд. Когда я запускаю 100 из них, они используют максимум 540 секунд облачной функции, а некоторые из них истекают.

Я уже проверил следующие вещи: Я не превышаю свою частоту GHz se c за каждые 100 секунд. У меня есть только зависимости ниже. Я удостоверился, что удаляю свои временные файлы, чтобы не вызывать холодный перезапуск. ,

Любые идеи о том, что еще может быть причиной более длительного времени выполнения, когда я запускаю больше экземпляров? Теоретически облачные функции должны иметь ресурсы ЦП, выделенные для каждого экземпляра, поэтому я не должен видеть больше времени выполнения с большим количеством экземпляров.

  • pandas> = 0,25,3
  • apache -libcloud> = 2.8.0
  • криптография> = 2.8
  • таблицы> = 2.3.0

1 Ответ

1 голос
/ 13 апреля 2020

Общее время выполнения функции не просто определяется мощностью процессора. Есть время холодного запуска для раскрутки нового экземпляра сервера, и несколько экземпляров не обязательно будут все раскручиваться одновременно. Система будет постепенно создавать новые экземпляры сервера по мере увеличения нагрузки. Это не поведение, которое вы можете контролировать каким-либо существенным образом; Вы не можете исключить стоимость холодного запуска и не можете указать, как быстро он должен масштабироваться.

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

...