2012-03-08 87 views
2

我为我公司的产品创建了一个网络聊天服务,这是一个本地社交网络,为来自在线用户的大量并发连接提供服务。长轮询与Python中的Tornado一起使用。但是,当有很多不活动的长轮询连接(不接收传入消息)时,我应该关闭其中一些连接。我应该让多轮询连接保持多久?

我应该让多轮询连接保持多久? 1小时还是最多1天?

回答

2

你必须调整长查询超时实际的网络环境,例如一些ADSL调制解调器之后,比如说10分钟无操作自动删除连接。一些笔记本电脑可能会移动到另一个无线网络或去睡觉,等

IMO你不应该有超过5分钟的实用公众使用的情况下在互联网上。

如果您对网络或对等方有控制权,您可以考虑更长的超时时间;或者如果您有独立的验证,客户端仍在等待,例如通过来自同一会议的单独请求。

当您分析工作负载时,您可能会发现,经过一定的阈值后,加倍超时会带来非常小的性能提升。通常这个阈值会很小,然后使用它。

+0

当连接在超时之后被丢弃时,它会重新连接以再次调用长轮询,对吗?重点不是无限期地开放它,只是用一个新的连接来回收它? – raffian 2012-05-31 18:57:18

+0

究竟是............ – 2012-06-11 09:22:10