我正在为我的公司产品创建一个网络聊天服务,这是一个本地社交网络,提供大量来自在线用户的并发连接。长轮询与Python上的Tornado一起使用。但是,当有很多非活动的长轮询连接(没有收到任何传入的消息)时,我应该关闭其中的一些。
我应该让长轮询连接停留多长时间?1小时或最多1天?
发布于 2012-03-08 21:12:46
您必须根据实际网络环境调整长轮询超时,例如,一些adsl调制解调器在10分钟不活动后静默地断开连接。一些笔记本电脑可能会移动到另一个无线网络或进入睡眠状态,等等。
我想你不应该有超过5分钟的时间在互联网上讨论实际的公共用例。
如果您可以控制网络或对等项,或者如果您可以独立验证客户端仍在等待,例如,通过来自同一会话的单独请求,则可以考虑更长的超时。
当您分析您的工作负载时,您可能会发现,在某个阈值之后,加倍超时会带来非常小的性能提升。通常情况下,这个阈值会很小,然后使用它。
https://stackoverflow.com/questions/9617049
复制相似问题