我目前是一个firebase客户,并且正面临这个非常糟糕的firebase性能问题:firebase加载性能,其中初始websocket握手延迟整个应用程序加载一秒或更长时间。
我很好奇goinstant是否解决了这个问题?这个想法是你先做一个传统的xhr,然后在连接建立时切换到websockets。
这正是GoInstant所做的。它从一个XHR连接开始,然后尝试升级到websocket(如果可用)。
Firebase通常以websocket开头。经过测量,我们发现它通常更可靠,具有更好的性能特征,特别是对于上传。但是,如果websockets不可用或失败,客户端将使用长轮询。XHR请求有一些缺点。它们并不总是跨域可用,如果您打开多个选项卡与同一服务器通信,某些浏览器将限制可用的套接字,迫使选项卡轮流轮询。
如果你愿意,你可以通过调用Firebase. internal . forcelongpolling ();
关于链接的问题,我们将调查发生了什么(如果你还没有,请给firebase.com发邮件支持),因为这些测量值肯定比它们应该的要高,并且有些不典型。