Cloud Run 实例在流量高峰期被 OOM (HTTP 500) 终止,这与产品浏览的 Firestore 查询增加同时发生。您如何防止崩溃并减少 Firestore 负载,同时优化性能?
选择一个答案
点击一个选项来检查您的答案。
正确答案: 使用带限制的游标对产品列表查询进行分页。.
为什么这是答案
使用带限制的游标对产品列表查询进行分页是最佳解决方案。当流量高峰期导致 Firestore 查询增加时,OOM 错误通常是由于 Cloud Run 实例尝试加载过多的数据到内存中。带限制的游标分页(例如使用 startAfter() 和 limit())可以确保每次只检索一小部分数据,从而显著减少内存使用和 Firestore 的读取负载,同时提高查询性能。 创建自定义 Firestore 索引可以提高查询速度,但不能直接解决因加载大量数据导致的 OOM 问题。使用整数偏移量分页(例如 offset())效率低下,因为它仍然需要 Firestore 扫描所有跳过的文档,随着偏移量增加,性能会急剧下降,并且不能有效减少内存使用。增加 Cloud Run 内存分配只能暂时缓解问题,但不能解决根本原因,即查询加载了过多数据,并且会增加成本。
通过考试 — 无需无休止地寻找答案
将本次考试的所有验证问题和解释集中在一处,节省数小时的准备时间。1,000+ 认证 · 20+ 语言 · 免费开始。
更快通过考试 → 无需银行卡