移动设备上的Pusher(websocket服务)性能问题

时间:2014-04-07 13:19:07

标签: html5 webview websocket pusher

我们在移动设备上使用Pusher(使用html webview + javascript)。

我使用以下脚本连接到Pusher(将异步加载到页面)

http://js.pusher.com/2.1/pusher.min.js.

然后初始化Pusher对象:

var externalTrackingProvider = new Pusher(config.key, { encrypted: true });
var connection = externalTrackingProvider.connection;
connection.bind('connected', function() {
console.log("connected");
});

这个过程运作良好,但“新推送”和“连接”活动之间的时间可能需要15个!移动设备上的秒数。 init和connected之间的平均时间是5-10秒。 (js文件本身已预先加载,因此这是实际的连接时间。)

我们的测试是使用高速wifi网络完成的,所以这不是问题所在。

这是一个知道Pusher的问题吗?要解决这个问题还有什么需要做的吗?

修改 按照迈克的建议,我使用三星Galaxy S4上的网络视图,高速wifi连接测试了“http://test.pusher.com”。结果在“连接”和“连接”之间平均为3-4秒。附上截图。enter image description here

EDIT2 : 将日志发送给Pusher后,似乎Android webview不支持Websockets,导致js回退导致性能下降。

解决方案应该是某种webview websocket library

如果有效,我会尝试更新

1 个答案:

答案 0 :(得分:1)

一切都应该在一秒钟内完成。您可以使用具有相同浏览器和网络连接的test.pusher.com来查看来回传递的消息以及引入延迟的阶段。 websocket连接失败的一些后备需要加载更多代码,可能需要超时考虑初始尝试失败,并且需要比websocket更多的往返才能创建连接。