每2秒进行一次AJAX后调用是不是一个好主意?

时间:2014-06-29 14:09:46

标签: javascript jquery ajax post

如果我将一个AJAX $ .post调用(使用jQuery)调用到一个php文件来更新某个参数/数字,它是否被视为不良做法,危险或类似?

$.post(file.php, {var:var}, function(data){
// something
}, json);

单个页面上的单个用户通过单击对象来更新数字。例如,如果用户A通过单击对象来更新某个数字,则用户B应该立即看到此更新而不重新加载页面。

2 个答案:

答案 0 :(得分:3)

这取决于3个主要因素:

  1. 您在任何指定时间拥有多少用户?

  2. 平均每个请求发送了多少数据?

  3. 鉴于1和2,你的服务器是否设置为处理这种行为?

  4. 我有一个webapp,可以同时处理多达10-20k的用户,每次用户更改页面上的值时都会发出请求(每秒可能超过1 req),并且每个请求发送大约1000个字节。我获得了平均10毫秒的响应时间,但这与节点js有关。最初我用PHP开始了这个项目,但结果却太慢了。

    我不认为网络套接字是您正在做的事情的正确工具,因为您不需要服务器发送到客户端,并且持续连接可以更多比每隔几秒发送一个请求便宜。

    请务必进行大量测试,然后您可以根据自己的具体需求做出判断。

    tl; dr - 如果您的服务器无法处理它,那不是一个好主意。否则,它没有任何问题。

答案 1 :(得分:0)

另一个解决方案可能是,将用户操作缓存在本地存储/变量中,并且每10-15秒左右一次发送所有操作,然后在发送成功时清除缓存。

在这种情况下,您还应验证本地存储中的数据以防止篡改。