【问题标题】:Pusher (websocket service) performance issue on mobile devices移动设备上的 Pusher(websocket 服务)性能问题
【发布时间】:2014-04-07 13:19:07
【问题描述】:

我们在移动设备上使用 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");
});

该过程运行良好,但“new Pusher”和“connected”事件之间的时间可能长达 15 天!!!移动设备上的秒数。初始化和连接之间的平均时间是 5-10 秒。 (js文件本身是预加载的,所以这是实际的连接时间)。

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

这是一个已知的 Pusher 问题吗?有什么办法可以解决这个问题?

编辑 按照 Mike 的建议,我在 Samsung Galaxy S4 上使用我们的 webview 测试了“http://test.pusher.com”,高速 wifi 连接。结果是“连接”和“连接”之间的平均 3-4 秒。附截图。

编辑2: 将日志发送到 Pusher 后,Android webview 似乎不支持 Websockets,这会导致 js fallback 导致性能不佳。

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

我会尝试更新,如果它工作正常

【问题讨论】:

    标签: html webview websocket pusher


    【解决方案1】:

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

    【讨论】:

    • 谢谢,我试试。可以用我的真实环境调试吗?
    • 在我们的 Android Webview 上测试了这个测试页面,使用三星 S4 + 高速 wifi,结果很差 - 从“连接”到“连接”之间需要 3-4 秒。知道什么会导致这种情况吗?这对我们来说是个大问题。 tnx!
    猜你喜欢
    • 1970-01-01
    • 2015-10-04
    • 2012-12-27
    • 2013-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-22
    • 2020-07-05
    相关资源
    最近更新 更多