P2P点播系统性能优化(2): 减少客户端的心跳包

          

在Client/Server应用服务器开发中,有时需要给UDP/TCP链接增加心跳消息,以便后台服务器能记录客户端的在线状态。

 

通常做法:

1.假定心跳时间 KeepaliveTime = 60 秒 ;

2.客户端启用定时器每过60秒钟向服务器发送心跳包,服务器收到心跳包后给客户端,更新心跳计时器信息并给客户端回复心跳确认包 ;

3.客户端设定一个超时时间,比如在3秒内未收到确认包,则重新发送该心跳包。收到确认包后,更新客户端计时器信息,跳转到2 。   

 

优化方法:

1.假定心跳时间 KeepaliveTime = 60 秒 ;

2.客户端启用定时器每过60秒钟向服务器发送心跳包,服务器收到心跳包后给客户端,更新心跳计时器信息并给客户端回复心跳确认包 ;

3.客户端如果在向应用服务器发送心跳包之前收到服务器的其他应用协议数据包,此时重置计时器,重新开始计时 ;

4.客户端设定一个超时时间,比如在3秒内未收到确认包,则重新发送该心跳包。收到确认包后,重置客户端计时器信息,跳转到2 。

总结:

          优点: 当应用服务器有几十万甚至上百万的同时在线用户时,心跳包占整个客户端和服务器端通信协议比重会比较高。因此,通过减少客户端向服务器端发送心跳包的数量可以有效的降低应用服务器端得负载,节省更多的带宽和CPU资源。

          缺点:延迟服务器端发现客户端下线的时间。

 

 

 

 

                       

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值