firebase - 在 firebase 实时数据库中,如何调试使用负载的峰值?

标签 firebase firebase-realtime-database load firebase-console

多个客户端(webApp、mobileApp)正在使用直接来自实时数据库的数据。

请看下面的图表,在数据库负载高峰期间,数据库连接下载 使用没有变化。

而且在过去的几个月里,我们也没有对客户端/服务器(功能)进行任何代码更改。

我想不通;是什么导致数据库使用负载!

我该如何调试这个问题?

感谢您的帮助!

enter image description here

enter image description here

enter image description here

最佳答案

在长时间处理类似这个问题并联系了 Firebase 支持系统中的几乎每个人之后,我得出了以下见解:

  1. 实时数据库查询:无论是否索引,Firebase 实时数据库都无法处理海量数据(例如 >500 万个节点)的查询。要解决此问题,请确保您在尽可能少的端点上建立索引。

  2. 冷启动:有时函数需要一段时间才能启动,并且可能会出现一些积压。一旦它们开始运行,它们就会对数据库本身造成负载。这个问题没有解决方案,但您应该优化您的函数以尽可能缩短时间(参见:Firebase cloud code functions tips & tricks)

  3. Firebase 支持:与 Firebase 支持交谈,他们通常可以为您指明正确的方向。

对我来说,最有帮助的是删除不必要的 indexOn 规则、升级到 nodeJS 10 以及扩展某些云函数的内存限制。此外,我现在正在切换到 Firestore 作为我的后端解决方案。

关于firebase - 在 firebase 实时数据库中,如何调试使用负载的峰值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48594394/

相关文章:

javascript - 按键值限制 firebase 返回的对象

jquery - 如果 $(window).load() 被弃用,我应该使用什么?

java - libgdx: Assets 管理器错误

javascript - 按需加载 JavaScript

node.js - Node js Json 添加数组

curl - 通过 REST API 将对象添加到 Firebase 时如何设置我们自己的 key

javascript - Firebase 实时数据库和云功能 : observe child of user returns undefined when attempting event value

node.js - GitHub Action 构建 firebase 应用程序失败 w9jds/firebase-action

firebase - 在 Firebase 中按数组值搜索

android - 将 FCM 与另一个数据库一起使用