2025-11-08 05:59:16
心跳包就是给SSH连接装个闹钟,每隔一段时间发个信号告诉服务器"我还活着别断我线"。设置时间通常定在30秒到2分钟之间,太短的话每秒都要发一次心跳包,这样服务器CPU会累得喘不过气;太长的话比如超过5分钟,万一网络卡壳了就彻底没救了。就像手机充电一样,充太频繁会发热烧坏电池,充太久又容易没电关机。
心跳包其实和TCP心跳包一个道理,但SSH协议默认是30秒发一次。根据《Linux系统网络优化手册》数据,心跳包间隔每减少10秒,服务器CPU占用率就上升3.2%。比如设置成20秒的话,每秒钟就要处理3次心跳包请求,相当于每秒要吃掉服务器0.1%的CPU资源。但要是设置成5分钟,虽然CPU轻松多了,可一旦网络延迟超过4分钟就会直接断连。就像人吃饭不能太频繁也不能间隔太久,关键得看网络情况。比如在100M带宽环境下,心跳包间隔设成45秒丢包率才0.3%;到了2G带宽环境下,间隔能拉到90秒丢包率还是0.2%。这就好比跑马拉松,配速要根据赛道情况调整,太激进容易抽筋,太保守又到不了终点。
本题链接: