firebase - 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的下载!!那太疯狂了!!
有人可以帮我解释一下吗?以及如何避免这种情况?
现在我正在考虑将我的数据库更改为另一个。
解决方案
SSL 加密开销:
安全连接所需的 SSL 加密开销会产生相关成本。平均而言,初始握手的此成本约为 3.5KB(请参见图表中的内容),每条传出消息上的 TLS 记录标头约为数十字节。
此外,Firebase 控制台数据增加了一点:虽然这通常不是实时数据库成本的重要部分,但 Firebase 对您从 Firebase 控制台读取和写入的数据收费。
推荐阅读
- python - 从文本文件文件夹 FileNotFoundError 创建数据框:[WinError 3]
- c++ - 如何获取断开套接字的连接信息?
- macos-big-sur - BigSur 鼠标控制
- angular-cli - 为什么在使用 --emitDecoratorMetadata 标志编译角度库时会收到警告?
- python - 中止失败片段的作业 yt-dlp
- snowflake-cloud-data-platform - 雪花 - 检查一个表中的列是否与另一表中的列的数据类型匹配
- arrays - 当数组是C中的struct类型时,如何检查条目数组的第一个条目是否为空?
- javascript - 在 JavaScript 中的 Object 中使用短路 (||)
- mysql - 带子查询的左连接 / 4 个表
- influxdb - 如何使用 lineprotocol 和 API 在 Influx 中插入多个点