Simperium桶准备好响应时间体验

时间:2012-09-05 13:31:33

标签: simperium

我已经使用以下代码测量了加载桶(包含20-30个小物品)的Simperium响应时间:

var simperium = new Simperium(simperiumAppID, { token: simperiumAuthData.access_token });
console.time("simperiumBucketInit");
var bucket = simperium.bucket("main");
bucket.on('error', function (errortype) {
  console.log("got error for bucket: "+errortype);
})
bucket.on('ready', function () {
  console.timeEnd("simperiumBucketInit");
});
bucket.start();
​

铲斗一般装载1.5-3秒,有点长,但可以接受。但有时它需要20-30秒,一次需要超过5分钟。 这是全球现象吗? 我正在使用免费套餐。付费的等级有更好的表现吗?

1 个答案:

答案 0 :(得分:2)

过去一周9/1 - 9/6的性能问题可能是我们遇到的数据库问题的罪魁祸首。服务器已经升级,性能应该更加平滑。

另一个可能的问题是与服务器的连接。 Simperium JS库包含并使用SockJS。它尝试建立websocket连接,但有时这可能会失败,具体取决于网络/防火墙/浏览器。在这些情况下,它应该回归到使用常规的http轮询,但这种故障转移最多可能需要20秒。

可以直接将选项传递给SockJS并使用SockJS选项来控制连接行为并强制使用轮询:

var simperium = new Simperium(simperiumAppID, { token: "",
    sockjs: {
        protocols_whitelist: ['xdr-polling', 'xhr-polling', 'iframe-xhr-polling', 'jsonp-polling']
        }
    });

关于免费与付费等级,付费/制作应用程序将拥有与免费应用程序分开的专用资源,因此它们应具有更一致的性能。