简单的控制台计时显示fb加载速度比预期慢得多(只有50个聊天项)。
load: 171.226ms
fbload: 1723.570ms
load: 182.672ms
fbload: 2143.836ms
正常负载来自我的mongodb,而fbload是firebase。尽管我的mongo没有非规范化,但fb的速度要慢一些。
我能做些什么来提高性能吗?
我使用angularfire,我可以从我自己的数据库加载初始值,然后用fb数据替换它。对于这个解决方案有一些方法我可以让fb数据同步并绑定到现有的dom元素,以避免重新绘制布局?
代码 这就是我如何缩短fb时间。
console.time('fbload')
$scope.chatLog = $firebase(fb.child('view/r/' + id).endAt().limit(50));
$scope.chatLog.$on('value', function () {
console.timeEnd('fbload')
})
编辑:
我的猜测是这是因为websocket握手。 Firebase最初应该使用xhr来获取数据,并且仅在连接后依赖于websockets。这还需要一个解决方案。有什么想法吗?