我有一个使用原生SDK连接到数据库的应用程序。应用程序一天24小时每5分钟从数据库下载一次数据。使用"firebase database: profile“命令检查下载的数据,结果发现平均下载的数据是600B。仅计算下载的数据,我发现每天大约下载1.5 GB,而在firebase控制台每天下载大约12 GB。有没有可能与“协议开销”和"SSL加密开销“相关的成本如此之高,以至于它们花费的成本几乎是下载数据的10倍?我使用"addListenerForSingleValueEvent“方法来检索数据。是否在每次调用时都会添加"3.5KB的初始握手“?使用像"addValueEventListener“这样的其他方法并让连接一直保持下去,成本会更低吗?有没有其他降低成本的方法?
发布于 2020-03-04 01:02:43
不可能更改客户端和服务器之间通信所使用的协议和加密的任何内容。没有比addListenerForSingleValueEvent更有效的查询实时数据库的方法了。
老实说,每5分钟查询一次似乎有点过分。您应该查看推送通知之类的内容,告诉客户端有新数据要查询,而不是让客户端如此频繁地轮询数据库。
https://stackoverflow.com/questions/60502910
复制相似问题