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


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

JavaScript 定时器

XXXXXXX 9 years, 9 months ago

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

KAnY1 answered 9 years, 9 months ago

用NodeJS的socket.IO模块

緋紅的蛇 answered 9 years, 9 months ago

状态改变由服务端主动推

wkdbryl answered 9 years, 9 months ago

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

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

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

Your Answer