前提:现在存在一种情况,如果是我的心跳设置为90S,当运营商那边压力较大的时候,会淘汰 NAT 表中的对应项,造成链路中断(这个测试是偶然性的爆发的,也许是一个月会出现几次,也许是几天就会出现一次),现在测试的结果是30S,socket通道才不会断。现在问题来了,我们的服务器,现在最大的并发量是20000,也就是说我的心跳间隔不能太短,太短的话,会对服务器造成太大的压力,但是如果心跳间隔超过了30S就会出现socket通道频繁关闭的情况,我的这种情况该怎么解决呢我想的策略一:一种是当通道断开的时候,心跳时间设置为20S,然后发送心跳,每成功一次就增加10S时间的心跳间隔,直到最高的心跳间隔,以现在的数据来计算,不超过两分钟就又会重连,这种方案不可取,1.不到两分钟就会断,2.每次重连会照成流量的耗损,这个耗损很高的,每次重连,会照成3KB左右流量的消费现在集思广益,求解决方案
流量的浪费是因为在重连的时候,要发送一次http请求的,流量在这边损耗很大的
另外请教一下运营商删表的行为是你们测试出来的么!好像我们都没遇到过,望指点!
这个是会出现的,我给你看一篇文章的,它上面说了具体情况的,这个情况只会出现在2G和2.5G的
http://tech.sina.com.cn/i/csj/2013-04-16/09368244003.shtml