亚洲卫视 > 技术讲义
对于GX服务不稳定的一点改进尝试
日期:2008-3-10 15:48:20 阅读:   来源:佚名

如果GX服务器离客户端较远,因网络原因造成解密信息不能实时发送,就会影响到我们收视。
DM和GX服务器的TCP连接自CCcam启动后就会一直保持(keepalive),不会断开。但我觉得DM系统核心参数中默认的tcp_keepalive数值不大适合DM的这种应用,其tcp_keepalive_probes默认值为9,tcp_keepalive_intvl默认值是75,tcp_keepalive_time默认为7200,明显太大。所以建议将其改小,方法如下:
 _使用telnet登录上DM之后执行下面3条命令:
echo 10 > /proc/sys/net/ipv4/tcp_keepalive_time
echo 3 > /proc/sys/net/ipv4/tcp_keepalive_probes
echo 5 > /proc/sys/net/ipv4/tcp_keepalive_intvl
如果需要让DM启动后自动执行,将上面3条命令加入CCcam的启动脚本即可。在我的DM500上该启动脚本位于/var/script/CCcam_2.0.5_cam.sh如下图所示位置:

这样理论上来讲应该会提高向服务器进行连接检查的频率,并减少健康检查的重试次数,尽早发现连接超时并尝试重新建立新连接。我这样修改后观察了一段时间节目,暂时还没有出现画面停滞或马赛克的情况,但还不知道是否真的有用,这里贴出来供大家参考测试一下。


补充一下:
tcp_keepalive_time:表示TCP连接完全空闲多少秒后,主动向对方进行探测
tcp_keepalive_intvl:表示超过上面参数时间未收到对方回应的话,则开始进行重复尝试的间隔时间,单位为秒
tcp_keepalive_probes:表示最大检查次数