我设计了一个应用程序,将工作有点像Facebook的聊天或Gmail的谷歌内部通话一个基于Web的聊天功能。我想知道如果任何人有多久应该检查更新什么建议吗?每2秒?每5秒? 10秒?

此外,应该我请的setTimeout中的setTimeout的回调函数,或在更新Ajax请求的回调?基本上,它应该是呼叫,或n秒之间n秒的最后请求和启动完成之间的下一个?

由于

有帮助吗?

解决方案

您可以使用像彗星(AKA反向AJAX)有持久连接,而不是多次ping服务器。

否则,我会说2-3秒应该是一个良好的范围。任何下要放不必要的压力在服务器上,以及更长的东西会使应用迟缓的感觉。

其他提示

我将使其动态。确定你不想出去的,如2至10秒,并在一些中间点开始一定范围内,比如5秒。如果您的民调总是返回新邮件,减少等待期间对您的最低。如果投票开始返回空,增加对你的最大。这会给你需要的时候响应速度,给您的服务器时,没有什么是怎么回事休息之间的合理平衡。

让你看着一个基于事件的的方法呢?这样,你会得到实时的行为,节约资源,节省您能想出一个聪明的轮询间隔的需要。

如果出于某种原因,你需要使用轮询我会用一个短的启动时间间隔大约是双重的,您希望出现平均一个通知,然后增加从时间的间隔时间,如果有时间的长度去没有新的避免不必要地锤打你的服务器。虽然一般一个很好的答案取决于你的系统做什么。

有关聊天,基于事件的是去IMHO的理想方式。

然而常常它更新。

这意味着,你可以分析自己的系统,并确定最佳的时间来检查更新VS负载。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top