配额(第 1 代)

本文档介绍 Cloud Run functions 的配额限制。

Cloud Run functions 的配额包含三种类型:

  • 资源限制

    这些限制会影响您的函数可以使用的资源总量。

  • 时间限制

    这些限制会影响函数可以运行的时长。

  • 速率限制

    这些限制会影响您调用 Cloud Run functions API 来管理函数的速率。

下面将更详细地介绍各种不同类型的限制。

资源限制

这些资源限制会影响您的函数可以使用的资源总量。区域范围以项目为单位,每个项目都有自己的限额。

Quota 说明 限制 能否增加? 范围
函数的数量 每个区域可以部署的函数总数 1000 每个区域
部署大小上限 单个函数部署的大小上限 源文件为 100 MB(压缩后)。
源文件和模块一共 500 MB(未压缩)。
每个函数
未压缩 HTTP 请求的大小上限 在一个 HTTP 请求中发送到 HTTP 函数的数据量 10 MB 每次调用
未压缩 HTTP 响应的大小上限 在一个 HTTP 响应中从 HTTP 函数发送的数据量 10 MB 每次调用
事件驱动函数的事件大小上限 在事件中发送到后台函数的数据量 10 MB 每个事件
函数内存的大小上限 每个函数实例可以使用的内存量 8 GiB 每个函数

时间限制

Quota 说明 限制 能否增加? 范围
函数运行时长上限 函数在被强制终止之前可以运行的最长时间 540 秒 每次调用

速率限制

Quota 说明 限制 能否增加? 范围
API 调用次数(读取) 使用 Cloud Run functions API 描述或列出函数的调用次数 每 100 秒 5000 次 每个项目
API 调用次数 (WRITE) 使用 Cloud Run functions API 部署或删除函数的调用次数 每 100 秒 80 次 1 每个项目
API 调用次数 (CALL) 对“CALL” API 的调用次数 每 100 秒 16 次 2 每个项目

可伸缩性

通过 HTTP 调用的 Cloud Run functions 函数可以快速扩容以处理传入流量,而后台函数的扩容速度则要慢一些。函数的扩容能力取决于多种因素,包括:

  • 函数执行完毕所需的时间(短期运行的函数通常可以扩容以处理更多的并发请求)。
  • 函数初始化所用的时间。

  • 实例数下限实例数上限定义的配置。

Quota 说明 限制 能否增加? 范围
调用速率上限 单个函数处理事件的最大速率
示例:如果处理一个事件需要 100 毫秒,即使仅平均并行处理 100 个请求,调用速率也将被限制为每秒 1000 次
每秒 1000 次 每个函数
传入事件吞吐量上限 单个函数的传入事件的最大吞吐量
示例:如果事件的大小为 1 MB,即使函数在 100 毫秒内完成,调用速率最高也只能是每秒 10 次
每秒 10 MB 每个函数

达到配额限制时

当某个函数用完分配的某种资源的所有配额后,该资源将不再可用,直到相应配额刷新或增加。这可能意味着,在此期间,您的函数和同一项目中的所有其他函数都将无法工作。当函数使用的资源中有某项资源超过配额后,该函数将返回一个 HTTP 500 错误代码且无法执行。

如需将配额增加到超出此处所列默认值的水平,请前往 Cloud Run functions 配额页面,选择要修改的配额,然后点击修改配额,在出现提示时提供您的用户信息,并为您选择的每项配额输入新的配额限制。