获取我们在 Firebase 峰会上发布的所有信息,了解 Firebase 可如何帮助您加快应用开发速度并满怀信心地运行应用。了解详情

配额和限制

使用集合让一切井井有条 根据您的偏好保存内容并对其进行分类。

此页面详细说明了根据 Blaze 即用即付定价计划对 Cloud Functions 的可扩展、基于使用的限制。这些限制适用于将函数部署到 Node.js 10 运行时环境的 Firebase 项目。

Blaze 计划免费提供大量的调用、计算时间和互联网流量。但是,函数部署会对函数容器使用的存储空间产生小额费用。有关详细信息,请参阅 Firebase常见问题解答

Google Cloud Functions 的配额包括 3 个领域:

  • 资源限制

    这些会影响您的函数可以消耗的资源总量。

  • 时间限制

    这些会影响事情可以运行多长时间。

  • 速率限制

    这些会影响您可以调用 Cloud Functions API 的速率和/或可以使用资源的速率。您可以将费率配额视为“随时间变化的资源”。

下面更详细地描述了不同类型的限制。 Cloud Functions(第 1 代)和 Cloud Functions(第 2 代)的限制之间的差异会在适用的情况下注明。

资源限制

资源限制会影响您的函数可以消耗的资源总量。区域范围是每个项目,每个项目都有自己的限制。

配额描述限制(第一代)限制(第 2 代)可以增加范围
功能数量每个区域可以部署的功能总数1,000 1000 减去已部署的 Cloud Run 服务数量每个地区
最大部署规模单个功能部署的最大大小100MB(压缩)用于源。
源和模块为 500MB(未压缩)。
不适用每个功能
最大未压缩 HTTP 请求大小在 HTTP 请求中发送到 HTTP 函数的数据10MB 32MB每次调用
最大未压缩 HTTP 响应大小在 HTTP 响应中从 HTTP 函数发送的数据10MB 10MB 用于流式响应。
32MB 用于非流式响应。
每次调用
事件驱动函数的最大事件大小在事件中发送到后台函数的数据10MB Eventarc 事件为 512KB。
10MB 用于遗留事件。
每个事件
最大功能记忆每个函数实例可以使用的内存量8GiB 16GiB每个功能

时间限制

配额描述限制(第一代)限制(第 2 代)可以增加范围
最大功能持续时间函数在被强制终止之前可以运行的最长时间540 秒HTTP 函数需要 60 分钟。
10 分钟用于事件驱动的函数。
每次调用

速率限制

配额描述限制(第一代)限制(第 2 代)可以增加范围
API 调用(阅读)通过 Cloud Functions API 调用描述或列出函数每 100 秒 5000 个每 60 秒 1200仅适用于第一代每个项目(第一代)
每个地区(第 2 代)
API 调用 (WRITE)通过 Cloud Functions API 调用部署或删除函数每 100 秒 80 个每 60 秒 60 个没有1每个项目(第一代)
每个地区(第 2 代)
API 调用 (CALL)调用“调用”API每 100 秒 16 个不适用2号每个项目

可扩展性

HTTP 调用的 Cloud Functions 可快速扩展以处理传入流量,而后台函数可逐渐扩展。函数的扩展能力取决于几个因素,包括:

  • 完成函数执行所需的时间(短期运行的函数通常可以扩展以处理更多并发请求)。
  • 函数在冷启动时初始化所需的时间
  • 速率限制,如上所述。
  • 您的函数的错误率。
  • 瞬态因素,例如区域负载和数据中心容量。
后台功能有额外的限制,如下所述。这些限制不适用于HTTP 函数

后台功能的额外配额

配额描述限制可以增加范围
最大并发调用单个函数的最大并发调用次数
示例:如果处理每个事件需要 100 秒,则调用率将限制为平均每秒 30 次
3,000每个功能
最大调用率单个函数处理事件的最大速率
示例:如果处理一个事件需要 100 毫秒,即使平均只有 100 个请求被并行处理,调用率也会被限制为每秒 1000 个
每秒 1000 个每个功能
最大并发事件数据大小单个函数并发调用的传入事件的最大总大小
示例:如果事件的大小为 1MB 并且处理它们需要 10 秒,则平均速率将为每秒 1 个事件,因为在前 10 个事件之一处理完成之前不会处理第 11 个事件
10MB每个功能
传入事件的最大吞吐量单个函数的传入事件的最大吞吐量
示例:如果事件的大小为 1MB,则调用率可以最大为每秒 10 次,即使函数在 100 毫秒内完成
每秒 10MB每个功能

当您达到配额限制时

当一个函数消耗所有分配的资源时,该资源将变得不可用,直到配额被刷新或增加。这可能意味着您的功能和同一项目中的所有其他功能在此之前将无法工作。当其中一个资源超出配额且函数无法执行时,函数会返回 HTTP 500 错误代码。

要将配额增加到此处列出的默认值以上,请转到Cloud Functions 配额页面,选择要修改的配额,单击EDIT QUOTAS ,如果出现提示,请提供您的用户信息,然后为您选择的每个配额输入新的配额限制。

Firebase CLI 部署的配额限制

对于 Firebase CLI 部署的每个函数,这些类型的速率和时间限制都会受到影响:

  • API 调用 (READ) - 每次部署 1 次调用,无论有多少功能
    • 限制:每 100 秒 5000
  • API 调用 (WRITE) - 每个函数 1 次调用
    • 限制:每 100 秒 80 个

另请参阅Firebase CLI 参考