多个客户端(webApp、mobileApp)正在使用直接来自实时数据库的数据。
请看下面的图表,在数据库负载高峰期间,数据库连接
或下载
使用没有变化。
而且在过去的几个月里,我们也没有对客户端/服务器(功能)进行任何代码更改。
我想不通;是什么导致数据库使用负载!
我该如何调试这个问题?
感谢您的帮助!
最佳答案
在长时间处理类似这个问题并联系了 Firebase 支持系统中的几乎每个人之后,我得出了以下见解:
实时数据库查询:无论是否索引,Firebase 实时数据库都无法处理海量数据(例如 >500 万个节点)的查询。要解决此问题,请确保您在尽可能少的端点上建立索引。
冷启动:有时函数需要一段时间才能启动,并且可能会出现一些积压。一旦它们开始运行,它们就会对数据库本身造成负载。这个问题没有解决方案,但您应该优化您的函数以尽可能缩短时间(参见:Firebase cloud code functions tips & tricks)。
Firebase 支持:与 Firebase 支持交谈,他们通常可以为您指明正确的方向。
对我来说,最有帮助的是删除不必要的 indexOn 规则、升级到 nodeJS 10 以及扩展某些云函数的内存限制。此外,我现在正在切换到 Firestore 作为我的后端解决方案。
关于firebase - 在 firebase 实时数据库中,如何调试使用负载的峰值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48594394/