配额类型
Earth Engine 平台设置了多项配额限制,以确保资源在用户之间公平分配。由于 Earth Engine 中有许多不同类型的资源(计算、存储等),因此有许多不同类型的配额限制。
不同配额类型之间的主要区别在于它们是否可调整。对于某些类型的配额,我们可以按用户或按项目更改限制,而其他类型的配额则是系统级限制,无法更改。
可调整的配额上限
以下限制按项目计算。
| 配额类型 | 默认值(每个项目) |
|---|---|
| 并发请求数上限 (标准端点) | 40 个并发请求 |
| 并发请求数上限 (大容量端点) | 40 个并发请求 |
| 请求速率上限(每个项目) | 100 个请求/秒(6000 个请求/分钟) |
| 请求速率上限(每个账号) | 100 个请求/秒(6000 个请求/分钟) |
| 平均并发批处理任务数 | 2 项任务(平均) |
| 素材资源存储空间上限 | 250 GB |
| 素材资源数量上限 | 10000 |
| 每日 Earth Engine 计算时间 (EECU-time),以秒为单位 | 无限制 |
并发交互式请求数
每个项目都可以并行发出交互式请求,但不能超过配额限制。如果超出限制,Earth Engine 将返回“HTTP 429:请求过多”错误。通常,这些错误由 Earth Engine 客户端库处理,该库会使用指数退避算法封装请求,并重试查询,直到成功。Earth Engine 客户端库最多会重试请求五次。
为避免收到这些 429 错误,您可能需要为应用启用缓存(例如使用 memcache),以尽可能避免冗余查询。如果您使用的是旧版 Earth Engine 客户端库,该库不会自动重试查询,或者如果查询在重试五次后仍未完成,您可能需要围绕请求实现指数退避算法。
请求速率 (QPS)
除了并发限制之外,Earth Engine 还会在项目和用户级别限制交互式请求的速率。这些设置可在 Cloud 控制台中进行调整
并发批处理任务数
以非商业用途使用 Earth Engine 时,您可以同时运行的批处理任务数量上限由您的非商业层级决定。
以商业用途使用 Earth Engine 时,您可以同时运行的批处理任务数量上限由定价方案决定,但您也可以通过设置每个项目的批处理任务并发限制来进一步降低该上限。默认情况下,项目的批量任务并发限制设置为项目结算账号上配置的付费方案允许的最大值。如需查看或更新项目的此限制,请参阅命令行工具文档。
素材资源存储空间配额
每个 Earth Engine 资产都有一个对应的数据存储空间大小(以字节为单位)。资产可以归云项目或个人(旧版资产)所有,并且每项资产都会计入其所有者的 Earth Engine 总体存储空间和资产数量上限。
如需申请额外的非商业或研究用途资产存储空间配额,请参阅非商业或研究用途。
每天 EECU 时间
如果您想控制费用,可以限制项目每天在 Earth Engine 上可消耗的 EECU 时间。默认情况下,此配额不受限制。配额管理员可以在 Cloud 控制台中设置此限制,只需过滤 earthengine.googleapis.com/daily_eecu_usage_time 配额指标即可。设置后,此配额会累计项目中所有用户的成功 Earth Engine 请求所消耗的 EECU 时间。超出配额后,请求将失败,直到第二天配额重置或限额提高。如需详细了解如何设置此配额,请参阅费用控制指南。
固定配额限制
这些类型的配额限制是在平台级设置的,因此无法按用户或按项目进行调整。它们不太可能随着时间的推移而发生重大变化。
计算时间
不同类型的请求具有不同的最长时长,处理环境文档中对此进行了详细说明。
如需修复超时错误方面的帮助,请参阅调试指南。
每个请求的内存占用
如果请求失败并显示“User memory limit exceeded”(超出用户内存限制),则表示 Earth Engine 无法在允许的内存占用范围内计算出答案。EE 计算平台具有有限的可用 RAM,为确保系统保持稳定,每个请求只能使用一定数量的 RAM。可用内存量上限取决于请求类型(例如,批处理任务的内存量上限高于地图图块),但这些是系统级限制。
如需有关修复内存错误的帮助,请参阅调试指南。
数据汇总
在处理 Earth Engine 请求时,我们会分离出某些类型的子计算,这些子计算属于计算密集型。这些子计算称为“聚合”,在 EE 系统中会得到特殊处理。系统会缓存汇总结果,以避免重新计算。
并发聚合
为避免不受控制的计算扇出,我们限制了单个用户可以同时运行的聚合数量,并且此限制无法更改。如果请求失败并显示“并发聚合过多”,则表示请求者同时运行的聚合过多。
如需有关修复并发汇总错误的帮助,请参阅调试指南。
大型汇总结果
如果请求失败并显示“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 控制台中的 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 调用将失败,直到第二天配额重置或管理员提高限额。