本文档列出了适用于 Media CDN 的配额和系统限制。
- 配额具有默认值,但您通常可以申请调整。
- 系统限制是无法更改的固定值。
Google Cloud 使用配额来帮助确保公平性并减少资源使用和可用性的激增。配额用于限制您的 Google Cloud 项目可使用的Google Cloud 资源的数量。配额适用于一系列资源类型,包括硬件、软件和网络组件。例如,配额可以限制对某项服务的 API 调用次数、您的项目并发使用的负载均衡器数量或者您可以创建的项目数量。配额可以防止服务过载,从而保护Google Cloud 用户社区。配额还可以帮助您管理自己的 Google Cloud 资源。
Cloud 配额系统执行以下操作:
在大多数情况下,当您尝试消耗的资源超出其配额允许的范围时,系统会阻止对资源的访问,并且您尝试执行的任务会失败。
配额通常在 Google Cloud 项目级层应用。您在一个项目中使用资源不会影响您在另一个项目中的可用配额。在 Google Cloud 项目中,配额在所有应用和 IP 地址间共享。
Media CDN 资源也有系统限制。系统限制不能更改。
限制
以下限制适用于 Media CDN。
配置
| 项 | 限制 | 备注 |
|---|---|---|
EdgeCacheService 的数量上限 |
每个项目 20 次 | 如果您需要提高此限额,请与您的 Google Cloud 销售团队联系。 |
EdgeCacheOrigin 的数量上限 |
每个项目 30 次 | 如果您需要提高此限额,请与您的 Google Cloud 销售团队联系。 |
EdgeCacheKeyset 的数量上限 |
每个项目 10 个 | 如果您需要提高此限额,请与您的 Google Cloud 销售团队联系。 |
每个 EdgeCacheService 的 RouteRules 数上限 |
2000 | 每个 此限制无法提高。 |
| 每个服务的 SSL 证书数量上限 | 5 | 此限制无法提高。另请参阅 SSL 证书的每个项目的配额。 |
每个 EdgeCacheKeyset 的公钥数量上限 |
3 | 此限制无法提高。密钥集中的多个密钥旨在实现密钥轮替:您应随着时间的推移移除旧密钥和未使用的密钥。 |
每个 EdgeCacheKeyset 的验证共享密钥数量上限 |
3 | 此限制无法提高。密钥集中的多个密钥旨在实现密钥轮替:您应随着时间的推移移除旧密钥和未使用的密钥。 |
HTTP 标头、请求和响应
| 项 | 限制 | 备注 |
|---|---|---|
| 请求标头大小上限(包括请求路径) | 16 KiB | 此限制无法提高。
根据底层协议,请求连接要么在未写入响应代码的情况下关闭,要么被拒绝并返回 HTTP
如果启用了日志记录,这些请求会以 |
| 请求正文大小上限 | 16 KiB | 此限制无法提高。
如果请求的正文大小超出此限制,系统会拒绝该请求并返回 HTTP |
| 响应标头大小上限 | 约 128 KiB | 此限制无法提高。
如果源响应的标头超出此限制,系统会向客户端发送 HTTP 502 错误。如果已启用日志记录,这些事件会记录为 |
| 可缓存对象的大小上限 | 100 GiB | 此限制无法提高。
这是媒体 CDN 可以缓存的来源对象的最大大小。较大的对象会被视为不可缓存。 |
| 不可缓存的响应大小上限 | 500 MiB | 此限制无法提高。
这是 Media CDN 代理在对象不可缓存时,响应正文中的最大字节数。 不可缓存的响应在达到限制后会被截断。 |
| 标头小写转换 | 始终(适用于媒体 CDN) | 对于请求和响应标头的字母大小写,媒体 CDN 遵循 HTTP/2 惯例。
无论使用何种协议,所有标头都会转换为小写。
例如, 标头值的大小写不会发生变化。 |
API 请求速率限制
如果您需要更高的 API 请求速率限制,则可以查看当前的使用情况并申请提高限制。
| 项 | 限制 |
|---|---|
| 失效 | 每个EdgeCacheService每分钟 10 次 |
不在 networkservices 命名空间中的所有调用 |
每个项目每分钟 1,200 次调用 |
只读:GetEdgeCache*、ListEdgeCache* |
每个项目每分钟 100 次 |
读写:networkservices 命名空间中未标记为只读的所有内容 |
每个项目每分钟 100 次 |
建议一次提交一个更新请求,例如 create、patch 和 delete。虽然该 API 会将多个并发请求排入队列,但同时提交这些请求可能会导致延迟显著增加,处理时间延长,因为系统会按顺序处理每个项目。
客户端超时
| 超时 | 时长上限 | 状态代码 | 说明 |
|---|---|---|---|
| Maximum request duration | 5 分钟 | HTTP 408 Request Timeout |
单个请求-响应的最长持续时间。 |
| Header timeout | 10 秒 | HTTP 408 Request Timeout |
客户端必须发送完整请求标头集的时间。 |
来源超时
connectTimeout和maxAttemptsTimeout限制了 Media CDN 查找可用响应的时间。这两个超时时间都包括源返回标头以及确定是使用故障切换还是重定向所用的时间。
connectTimeout适用于每次来源尝试,而maxAttemptsTimeout包括连接所有来源尝试(包括故障切换和重定向)所需的时间。重定向后,系统会将其视为尝试连接到来源的额外次数,并计入为配置的来源设置的maxAttempts。当 Media CDN 遇到非重定向响应(例如来自重定向源或故障切换源)时,系统会应用
readTimeout和responseTimeout值。重定向的来源使用为遇到重定向的EdgeCacheOrigin配置的connectTimeout、readTimeout和responseTimeout值。responseTimeout和readTimeout用于控制流式回答的耗时。在 Media CDN 确定要使用上游响应后,connectTimeout和maxAttemptsTimeout都不再重要。此时,readTimeout和responseTimeout会生效。
无论每个 EdgeCacheOrigin 设置的 maxAttempts 是多少,Media CDN 最多会尝试连接所有来源四次。媒体 CDN 使用主要 EdgeCacheOrigin 中的 maxAttemptsTimeout 值。每次尝试的超时值(connectTimeout、readTimeout 和 responseTimeout)是针对每次尝试的 EdgeCacheOrigin 进行配置的。
下表介绍了超时字段:
| 字段 | 默认 | 说明 |
|---|---|---|
| connectTimeout | 5 秒 | 从开始向源服务器发送请求到 Media CDN 确定响应是否可用,Media CDN 可以花费的最长时间。实际上, 超时值必须介于 1 秒和 15 秒之间。 |
| maxAttemptsTimeout | 15 秒 | 尝试连接到来源(包括故障切换来源)的最大总次数,达到此上限后,系统会向客户端返回错误。
如果达到超时限制,系统会先返回 HTTP 超时值必须介于 1 秒和 30 秒之间。 此设置用于定义所有来源连接尝试(包括故障切换来源)的总时长,以便限制客户端必须等待内容开始在线播放的总时长。系统只会使用第一个 |
| readTimeout | 15 秒 | 单个 HTTP 响应的读取之间等待的最大时长。
|
| responseTimeout | 30 秒 | 允许完成响应的最长时长。 超时值必须介于 1 秒和 120 秒之间。 此时长从收到第一个正文字节时开始计算。如果在响应完成之前达到此超时时间,系统会截断响应并记录日志。 |
管理配额
出于各种原因,Media CDN 会对资源用量实施配额限制。例如,配额可避免出现意料之外的用量突增,从而为 Google Cloud 用户社区提供保护。配额还可帮助正在通过免费层级探索 Google Cloud 的用户避免中断试用。
所有项目在开始时都具有相同的配额,您可以通过申请更多配额来进行更改。根据您使用产品的情况,一些配额可能会自动增加。
权限
如需查看配额或申请增加配额,Identity and Access Management (IAM) 主账号需要具备以下某个角色:
| 任务 | 所需角色 |
|---|---|
| 检查项目的配额 | 以下之一:
|
| 修改配额,申请更多配额 | 以下之一:
|
查看您的配额
控制台
- 在 Google Cloud 控制台中,进入配额页面。
- 如需搜索要更新的配额,请使用过滤表。 如果您不知道配额的名称,请使用此页面上的链接。
gcloud
使用 Google Cloud CLI 运行以下命令来查看您的配额。请将 PROJECT_ID 替换为您自己的项目 ID。
gcloud compute project-info describe --project PROJECT_ID如需查看您在某一区域中已使用的配额,请运行以下命令:
gcloud compute regions describe example-region
超出配额时引发的错误
如果在发出 gcloud 命令时超过了配额,gcloud 会显示一条 quota exceeded 错误消息,并返回退出代码 1。
如果在发出 API 请求时超出了配额, Google Cloud 会返回以下 HTTP 状态代码:413 Request Entity Too Large。
申请更多配额
如需调整大多数配额,请使用 Google Cloud 控制台。如需了解详情,请参阅申请配额调整。
资源可用性
每个配额代表您可以创建的特定类型资源的数量上限(如果该资源可用)。必须要注意的是,配额无法保证资源可用性。即使您具有可用配额,如果新资源不可用,您也无法创建新资源。
例如,您的配额可能足以在给定区域中创建新的区域级外部 IP 地址。但是,如果该区域中没有可用的外部 IP 地址,则无法执行此操作。可用区级资源可用性也会影响您能否创建新资源。
导致资源在整个区域不可用的情况非常罕见。但是,地区内的资源有时可能会耗尽,通常不会影响资源类型的服务等级协议 (SLA)。如需了解详情,请参阅资源的相关 SLA。