配额类型
Earth Engine 平台设置了多项配额限制,以确保资源在用户之间公平分配。由于 Earth Engine 中提供了许多不同类型的资源(计算、存储空间等),因此配额限制的类型也多种多样。
不同配额类型之间的主要区别在于它们是否可调整。对于某些类型的配额,我们可以按用户或按项目更改限制,而其他类型则是系统级限制,无法更改。
可调整的配额限制
以下限制按项目计算。
| 配额类型 | 默认值(每个项目) |
|---|---|
| 并发请求数上限(标准端点) | 40 个并发请求 |
| 并发请求数上限(高容量端点) | 40 个并发请求 |
| 请求速率上限(每个项目) | 100 个请求/秒(6,000 个请求/分钟) |
| 请求速率上限(每个账号) | 100 个请求/秒(6,000 个请求/分钟) |
| 平均并发批量任务数 | 2 个任务(平均) |
| 资产存储空间上限 | 250 GB |
| 资产数量上限 | 10,000 |
| Earth Engine 计算时间 (EECU-time) 每日上限(以秒为单位) | 无限制 |
并发交互式请求数
每个项目都可以并行发出交互式 请求 ,但不得超过配额限制。如果超出限制,Earth Engine 将 返回 "HTTP 429:请求过多" 错误。通常,这些错误由 Earth Engine 客户端库处理,该库会将请求封装在指数退避算法中,并重试查询,直到查询成功为止。Earth Engine 客户端库最多会重试请求五次。
为避免收到这些 429 错误,您可能需要为应用启用缓存(例如使用 memcache),以尽可能避免冗余查询。如果您使用的是较旧版本的 Earth Engine 客户端库(不会自动重试查询),或者查询在重试五次后仍未完成,您可能需要在请求周围实现指数退避算法。
请求速率 (QPS)
除了 并发限制 之外,Earth Engine 还限制 交互式 请求 的速率(项目级和用户级)。您可以在 Cloud Console 中调整这些设置
并发批量任务数
批量任务 的并行度较低,因为它们使用的资源比 交互式 请求多。
如果将 Earth Engine 用于非商业用途,您可以并发运行的批量任务数量上限取决于您的 非商业用途层级。
如果将 Earth Engine 用于商业用途,您可以并发运行的批量任务数量上限取决于价格 方案,但您也可以通过设置每个项目的批量任务并发限制来进一步降低此上限。默认情况下,项目的批量任务并发限制设置为项目结算账号上配置的付款方案允许的最大值。如需查看或更新项目的此 限制,请参阅命令行 工具的文档。
资产存储空间配额
每个 Earth Engine 资产 都有一个以字节为单位的数据 存储空间大小。资产可以归 Cloud 项目或个人(旧版资产)所有,每个资产都会计入其所有者的 Earth Engine 整体存储空间和资产数量限制。
如需申请额外的资产存储空间配额以用于非商业或研究用途, 请参阅 非商业或研究用途。
EECU-time 每日上限
如果您希望控制费用,可以限制项目每天在 Earth Engine 上使用的 EECU-time 数量。默认情况下,此配额不受限制。配额管理员可以在 Cloud Console 中设置此限制,只需过滤 earthengine.googleapis.com/daily_eecu_usage_time 配额
指标即可。设置后,此配额会累积项目中所有用户的成功 Earth Engine 请求所使用的 EECU-time。如果超出配额,请求将失败,直到次日配额重置或限制增加为止。如需详细了解如何设置此配额,请参阅费用控制
指南。
固定配额限制
这些类型的配额限制是在平台级设置的,因此无法 按用户或按项目进行调整。它们不太可能随着时间的推移而发生显著变化。
计算时间
不同类型的请求具有不同的最长持续时间,详细信息请参阅处理环境 文档。
如需获得有关修正超时错误的帮助,请参阅调试 指南。
每个请求的内存占用
如果请求失败并显示“User memory limit exceeded”(超出用户内存限制),则表示 Earth Engine 无法在允许的内存占用范围内计算答案。EE 计算平台可用的 RAM 数量有限,为确保系统保持稳定,每个请求只能使用一定数量的 RAM。可用的内存量上限取决于请求的类型(例如,批量任务比地图图块使用的内存多),但这些是系统级限制。
如需获得有关修正内存错误的帮助,请参阅调试 指南。
数据汇总
在处理 Earth Engine 请求时,我们会分离出某些类型的子计算,因为我们知道这些子计算的计算量很大。这些子计算称为“数据汇总”,在 EE 系统中会进行特殊处理。数据汇总的结果会被缓存,以避免重新计算。
并发数据汇总
为避免不受控制的计算扇出,我们会限制单个用户可以同时运行的数据汇总数量,并且此限制无法更改。如果请求失败并显示“Too many concurrent aggregations”(并发数据汇总过多),则表示请求者同时运行的数据汇总过多。
如需获得有关修正并发数据汇总错误的帮助,请参阅调试 指南。
大型数据汇总结果
如果请求失败并显示“Computed value too large”(计算值过大),则表示数据汇总返回的结果过大,无法放入我们的缓存中。计算结果的大小限制为 100 MiB,这是一个系统级限制。
表格导入限制
表格上传限制在导入表格 数据指南中进行了解释。
请求载荷大小
对 Earth Engine 的单个查询的大小限制为 10MB。通常,只有当某些大型附加数据直接包含在查询中时,才会超出此限制,例如已内嵌到查询中的 shapefile 或 GeoJSON 结构。这些对象应改为上传并转换为 FeatureCollection 资产,然后通过资产 ID 引用。
任务队列长度
等待调度的任务(处于 READY 状态)构成“任务队列”。 每个项目的队列最多支持 3,000 个任务。这意味着,处于 READY 状态的任务数量不能超过 3,000 个。
BigQuery 光栅函数配额限制
以下配额适用于从 BigQuery 调用 Earth Engine 的情况,例如当
使用
ST_REGIONSTATS
SQL 函数时。
| 配额类型 | 默认值(每个项目) |
|---|---|
| BigQuery 槽时间每日上限 | 1,260,000 槽秒(350 槽小时) |
BigQuery 槽时间每日上限
BigQuery 槽时间每日上限配额是一种自定义配额,可让您限制 BigQuery 光栅函数在给定项目给定日期在 Earth Engine 上使用的槽时间量。每日配额会累积所有查询的总时间,即使是失败的查询也不例外。您可以在
Cloud Console
中查看 earthengine.googleapis.com/bigquery_slot_usage_time 指标下的配额,配额管理员可以向上或向下调整该
值。如需将该值
增加到默认值以上,请创建配额增加
请求,
该请求将自动获得批准。更改应在 10 分钟内生效。
如果超出此配额,BigQuery 将返回以下错误消息:
From Earth Engine: Custom quota exceeded: Your usage exceeded the custom quota for'earthengine.googleapis.com/bigquery_slot_usage_time', which is adjustable by your administrator in the Google Cloud console: https://console.cloud.google.com/quotas/?project=_.
超出配额后,ST_REGIONSTATS 调用将失败,直到次日配额重置或管理员增加限制为止。