了解Firebase数据库中带宽使用的来源

时间:2016-09-12 14:15:17

标签: firebase firebase-realtime-database

我的应用程序在Firebase数据库的带宽使用方面正在增长,我正在尝试优化我的查询以使用更少的带宽(从而降低成本),但我这样做是非常盲目的,因为没有关于我的数据库使用情况的统计信息(I无法知道哪些查询占用的带宽最多。)

有没有办法知道哪些查询占用了大量带宽?您如何优化Firebase数据库的使用?

编辑:

我有一个聊天网站,我使用messagesRef.child(conversationID).limitToLast(25).on('child_‌​added'...等观察者 conversationsRef.child(conversationID).('participants').on('value'...

4 个答案:

答案 0 :(得分:3)

没有查询调优工具,如果这是您正在寻找的内容。您可以构建简单的时间日志记录,以便在发出查询之前和之后进行捕获,记录该数据,并从客户端收集数据以缩小到性能最差的数据。

如果没有看到实际的查询或数据模型,很难提供帮助。

答案 1 :(得分:2)

Firebase Profiler为此节省了我的生命。 https://firebase.google.com/docs/database/usage/profile

能够确切地确定哪些参考(包括儿童)占用带宽,这使得更容易找出代码的哪一部分存在问题。

答案 2 :(得分:0)

万一你还没有使用Firebase的.indexOn() ...这是改善你的表现的最好方法(所以他们在下面说),看看Index Your Data。 Firebase的人说:

  

如果您事先知道索引的内容,可以通过Firebase实时数据库规则中的.indexOn规则将其定义为提高查询效果

答案 3 :(得分:0)

非常同意ZagNut的回答。

在"然后()"上记录查询完成情况会帮助你。

您可以在客户端保留节点请求的查询计数,并将客户端ID的请求计数保存在firebase数据库的数据结构的单独节点中。

现在过滤这些查询以查找使用模式。

感谢。