本体函数Performance and limits强制限制

注意:以下翻译的准确性尚未经过验证。这是使用 AIP ↗ 从原始英文文本进行的机器翻译。

强制限制

为了防止函数在执行时消耗过多资源,系统设置了一些限制。

时间限制

每次函数执行的CPU时间限制为30秒,但如果通过网络加载数据,则最多可运行60秒。当函数因超过60秒的阈值而超时时,罪魁祸首通常是低效的数据加载逻辑。请参考优化性能部分,获取如何避免超时的提示。

内存限制

每次函数执行的内存使用限制为128兆字节。这个限制很少被达到;大多数情况下,函数在内存限制之前会遇到时间限制或对象加载限制。

单线程

单个函数在单个线程上执行,因此在任何给定时间只允许进行一个计算。然而,您可以并行化对象集或链接的加载。请参考优化性能

对象集加载限制

使用对象集时,调用.all().allAsync()会抛出错误如果:

  • 从对象集中一次加载超过100,000个对象。通常,即使加载数万个对象也会遇到时间限制或内存限制。对于遇到此限制的应用案例,考虑使用聚合获取汇总数据或使用排序和限制获取对象的子集。
  • 一次使用超过3个环绕搜索

对象集限制

一些聚合和分组操作有其限制。请参阅聚合部分了解详细信息。