3

Firebase 已于 2021 年 9 月宣布,现在可以通过某种方式配置其云功能自动缩放,以便始终运行一定数量的实例(https://firebase.google.com/docs/functions/manage-functions #min-max-instances)。

我试图设置它,但我无法让它工作:起初我在 Google Cloud Console 中设置了最小实例数:Cloud Console Screenshot 这样做之后,我预计该云功能的一个实例将运行在任何时候。该函数的指标表明它的实例仍被缩减为 0:云函数“Active Instances Metric”

所以在我看来,我的设置在这里被忽略了。我错过了什么吗?Google Cloud Console 向我显示最小实例数已设置为 1,因此它似乎知道但忽略了它。此功能是否仅在某些地区可用?

我还尝试使用 Firebase SDK for Cloud Functions 设置最小实例数(https://www.npmjs.com/package/firebase-functions)。这给了我相同的结果,我的设置仍然被忽略。

4

1 回答 1

3

根据文档,活动实例指标显示当前正在处理请求的实例数量。

文档中所述:

Cloud Functions 通过创建函数的新实例来扩展。这些实例中的每一个一次只能处理一个请求,因此请求量的大幅峰值通常会导致更长的等待时间,因为会创建新实例来处理需求。

因为函数是无状态的,所以你的函数有时会从头开始初始化执行环境,这称为冷启动。冷启动可能需要大量时间才能完成,因此如果您的应用程序对延迟敏感,我们建议您设置最少数量的 Cloud Functions 实例。

您还可以参考Stackoverflow 线程,其中提到了

设置 minInstances 并不意味着总会有那么多活动实例。最小实例保持空闲运行(没有 CPU > 分配),因此不计入活动实例。

于 2021-10-30T06:35:20.780 回答