通过 AJAX 调用减少服务器 CPU 使用率

the*_*e_e 5 ajax performance jquery server-load

我正在开发一款多人 HTML5 游戏,该游戏使用 jQuery 轮询服务器以获取游戏状态。目前,我每 2000 毫秒使用 .ajax 调用查询服务器,以给人实时更新的印象。我真的没有推送太多数据……主要只是 x/y 位置和一些角色属性……只有少数玩家在我的游戏实例中还活着。

服务器本身是一个共享托管服务器,我想在开发这个游戏时尽量保持我的 CPU 命中率尽可能低(并在未来将它移到更高功率的东西上)。

这是我当前轮询服务器以获取数据的方法。欢迎任何和所有建议,因为服务器加载对我来说是一个新领域。

$.ajax({
  type:'GET',
  url:"controller.php?a=player-info",
  dataType:'json',
  success: function(data){
    //parse data
  }
});
....
setInterval(getPlayerInfo,2000);
Run Code Online (Sandbox Code Playgroud)

我应该提到的一件事是,由于这是在共享服务器上,我不能有自由运行的进程来打开与(即 Node.js)的连接。

Zak*_*ria 3

首先,你是说你没有推送太多数据。对我来说,你在拉扯。这与您可能知道的不完全相同。

您可以使用 Websockets、长轮询或服务器发送的事件。(阅读这篇文章)