调整 NPC 断线检测时间
调整 NPS 与 NPC 在连续未收到探测响应时关闭桥接连接的等待时间
NPS 与 NPC 的多路复用数据桥接每 5 秒发送一次探测包。disconnect_timeout 表示允许连续未收到探测响应的次数,不是秒数;默认 60,约 5 分钟后判定桥接失效。
配置两端
服务端 nps.conf:
NPC 配置文件:
无配置文件模式:
修改后重启对应进程。建议两端显式设置相同数值,避免一端已经放弃连接、另一端仍长时间等待。
如何选择
| 网络场景 | 建议 |
|---|---|
| 稳定内网/专线,需要快速发现故障 | 可逐步降低,并先验证短时抖动不会误断 |
| 公网、移动网络、卫星链路或偶发丢包 | 保持默认或适当提高 |
| 防火墙/NAT 有较短空闲超时 | 先调整网络设备;探测间隔固定为 5 秒 |
数值越小,故障切换越快,但瞬时拥塞可能让该客户端承载的所有活动连接一起中断。数值越大,误断更少,但黑洞连接恢复更慢。
重连行为与排障
只有 NPC 发现数据桥接 socket 已关闭,才会进入重连流程。正常情况下 NPS 主动关闭会通过 FIN/RST 传到 NPC;如果中间网络静默丢弃报文,NPC 必须等自己的阈值到达后才能关闭并重连,随后还会等待约 5 秒再尝试。
调整前先查明断线原因。若固定约 5 分钟断开,检查两端探测日志和防火墙/NAT 会话;若高峰时误断,检查丢包和拥塞。该参数不会让已经中断的 SSH、数据库或 WebSocket 会话自动恢复,应用仍需自行重连。