Функция единого облака для вызова более 100 локальных функций - PullRequest
0 голосов
/ 20 февраля 2020

Привет, более 100 облачных функций и готовое приложение, панель управления и маркетинговый сайт. При тестировании мой клиент сказал, что сайт работает медленно. Это было из-за холодного запуска всех этих функций.

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

Прошлой ночью у меня была идея. Я знаю, что это немного грубо, но я хочу знать, какие последствия (кроме невозможности выпустить отдельные функции) будут иметь конечную точку одной облачной функции, которая переключает параметр с именем функции, который затем вызывает другие локальные функции, которые импортируются. Это будет означать, что одна функция будет медленной в первый раз для некоторых пользователей, но затем любая другая функция будет быстрой, так как функция уже будет горячей.

К сожалению, мне нужно выполнить одно из перечисленных выше действий, чтобы улучшать производительность до тех пор, пока Firebase не выпустит такую ​​функцию, как aws, позволяющую платить, чтобы поддерживать функции в тепле.

1 Ответ

1 голос
/ 20 февраля 2020

Невозможно полностью исключить время холодного запуска. Они всегда будут существовать в безсерверных средах - это факт. Лучшее, что вы можете сделать, это организовать свой код, чтобы минимизировать время холодного запуска. Не видя весь ваш код и ваши c эталонные тесты, мы не можем дать конкретный c совет, который мы можем получить.

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

Есть ресурсы, которые помогут вам сделать это. Смотрите это видео для более подробной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...