首页 > 解决方案 > Firebase Realtime 显示的下载使用量几乎是实际下载量的 10 倍

问题描述

我正在听这样的单个节点:

final reference =  FirebaseDatabase.instance.reference()
                       .child(kUsersNode);

StreamSubscription<Event> subscription = reference.onValue.listen((_){});

subscription.onData(_handleOnDone);

这意味着侦听器仅在第一次侦听时以及有数据更新时才被调用。

该节点具有如下数据结构:

- users
  |- uid
      |- h: 0
      |- l: 0
      |- p: 0
      |- c: 0
      |- m: 0

现在我有 3 条记录(3 个 UID),总共只有 204 字节写入使用选项卡。我估计 1 次数据提取应该在 68-90 字节左右

现在请看下面的使用图:

在此处输入图像描述

一整天都无法访问数据库(因为我是唯一一个这样做的人)。然后我测试了一次获取加一次打开控制台。所以可能使用量表应该显示大约 360 字节,但在使用量表中它显示 3.4KB !!! 这是怎么回事?而且,在那之后我只是对一个号码进行了1次更改,应用程序通过监听器得到它,再加上一次打开控制台,然后又记录了15KB的下载!!那太疯狂了!!

有人可以帮我解释一下吗?以及如何避免这种情况?

现在我正在考虑将我的数据库更改为另一个。

标签: firebasefirebase-realtime-database

解决方案


SSL 加密开销:

安全连接所需的 SSL 加密开销会产生相关成本。平均而言,初始握手的此成本约为 3.5KB(请参见图表中的内容),每条传出消息上的 TLS 记录标头约为数十字节。

此外,Firebase 控制台数据增加了一点:虽然这通常不是实时数据库成本的重要部分,但 Firebase 对您从 Firebase 控制台读取和写入的数据收费。


推荐阅读