使用1000个聊天用户进行Ajax轮询

时间:2010-10-23 14:53:56

标签: ajax polling

我们希望每隔100秒执行一次ajax调用,从数据库中请求一个布尔值,告诉客户端用户是否仍然有权提出问题。

我担心即使这是一个非常少量的数据被请求对数据库来说可能太多了..

最糟糕的情况是,1000名用户同时提出此请求。数据库最大池大小为1000。

这是一个使用通过javascript回调函数访问的页面方法的ASP.NET应用程序。

2 个答案:

答案 0 :(得分:1)

为什么不随意延迟?例如,不是每100秒轮询一次,而是每100 + some_random_offset秒。 通过这种方式,您可以确保不会有1000个客户端始终在同一时间进行轮询,但您可能会看到偶然的偶然峰值。

答案 1 :(得分:0)

您可以考虑在数据库之上安装一个缓存层,这样可以很好地处理这个负载,因为您不必每次都访问数据库。