如何避免前端轮询太频繁对服务器造成压力


一个微信小游戏,要定时根据后台的状态做出反应,对实时性有一定要求。
现在是每秒都会发送一个ajax请求根据返回值来看状态是否改变,但是怕这样使用的人多了以后对服务器造成压力~
不知道大家有什么好的解决方法没有~

JavaScript 定时器

XXXXXXX 10 years, 10 months ago

"websocket,轮询,长连接" 三选一

KAnY1 answered 10 years, 10 months ago

用NodeJS的socket.IO模块

緋紅的蛇 answered 10 years, 10 months ago

状态改变由服务端主动推

wkdbryl answered 10 years, 10 months ago

你的ajax触发如果有条件的话,某个时间(如一秒)间隔之内触发的都不要发送请求,超过这个间隔在发送,避免频繁操作不停的发送请求。具体实现可以参考underscore的debonuce方法。
如果ajax触发没有条件,是采用setInterval,那我没啥好建议的。

弱弱的问一句:你们应用上线前没有做压力测试么

泄矢诹访子 answered 10 years, 10 months ago

Your Answer