Firebase访问延迟



我们遇到Firebase访问延迟问题。我们有带有Firebase SDK的Node.js应用程序。在代码中,我们有对Firebase请求的下一个结果:1.通过GeoFire获取钥匙2.然后通过键并行获取serveral(从3到100(分支。3.然后通过并行键从另一个实体获得相同数量的分支。在Javascript方言中,并行请求如下所示:

const cardsRefs = map(keys, (key) => this.db.ref('cards').child(key));
return Promise.all(map(cardsRefs, (ref) => {
return ref
.once('value')
.then((snapshot) => snapshot.val())
})
);

仅此而已,我想没那么大。但这可能需要很多时间(高达5000毫秒(。我们不能确定这个时间,因为有时可能是700毫秒,有时可能更多(高达5000毫秒(。在这一点上,我们预计Firebase会有更可预测的行为。首先,我们认为错误选择谷歌云位置(代码在谷歌计算引擎上运行(导致延迟不稳定的原因。我们尝试从us-west1us-central1。请引导我们到正确的数据中心位置。但后来我们把代码改写成谷歌函数,得到了同样的结果。请告诉我们,我们如何在Firebase请求上获得更可预测和可持续的延迟?

我们将后台功能迁移到云功能,情况有所改善。每个功能大约开始以更快的速度工作1.5-2秒。目前,我们对这种情况感到满意。

最新更新