Firebase 访问延迟

Firebase access latency

我们遇到了 Firebase 访问延迟问题。 我们有 Node.js 个带有 Firebase SDK 的应用程序。 在代码中,我们对 Firebase 的请求有下一个结果: 1.通过GeoFire获取钥匙 2. 然后通过按键并行获得几个(从 3 到 100)个 b运行ches。 3. 然后通过键并行从另一个实体获得相同数量的b运行ches。 在 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 在这一点上有更多可预测的行为。 首先,我们认为错误选择 Google 云位置(代码是 运行 on Google Compute Engine)导致延迟不稳定的原因。我们尝试从 us-west1us-central1。请带我们到正确的数据中心位置。 但是后来我们将代码重写为 Google 函数并得到了相同的结果。 请告诉我们,我们如何才能获得更可预测和可持续的 Firebase 请求延迟?

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