--- title: "Transport TCP Keep-Alive 探测次数配置" date: 2026-01-14 lastmod: 2026-01-14 description: "transport.tcp.keep_count 配置项用于控制 TCP keep-alive 探测的发送次数。" tags: ["Transport", "TCP", "Keep-Alive", "连接保活"] summary: "配置项作用 # transport.tcp.keep_count 配置项用于控制TCP keep-alive 探测在声明连接死亡前的发送次数。 配置项属性 # 配置路径: transport.tcp.keep_count 数据类型: Integer(整数) 默认值: -1(使用操作系统默认值) 是否可选: 是 作用域: NodeScope(节点级别) 动态更新: 否(需要重启节点生效) 配置建议 # 默认配置 # transport: tcp: keep_count: -1 # 使用操作系统默认值 自定义配置 # transport: tcp: keep_alive: true keep_idle: 60 # 60秒空闲后开始探测 keep_interval: 10 # 每10秒发送一次探测 keep_count: 9 # 9次探测失败后声明连接死亡 注意事项 # 非动态更新: 需要重启节点生效。 操作系统默认值: 设置为 -1 时使用操作系统默认值,不同平台默认值不同。 配置关系: 此配置与 transport." --- ## 配置项作用 `transport.tcp.keep_count` 配置项用于控制**TCP keep-alive 探测在声明连接死亡前的发送次数**。 ## 配置项属性 - **配置路径**: `transport.tcp.keep_count` - **数据类型**: `Integer`(整数) - **默认值**: `-1`(使用操作系统默认值) - **是否可选**: 是 - **作用域**: NodeScope(节点级别) - **动态更新**: 否(需要重启节点生效) ## 配置建议 ## 默认配置 ```yaml transport: tcp: keep_count: -1 # 使用操作系统默认值 ``` ## 自定义配置 ```yaml transport: tcp: keep_alive: true keep_idle: 60 # 60秒空闲后开始探测 keep_interval: 10 # 每10秒发送一次探测 keep_count: 9 # 9次探测失败后声明连接死亡 ``` ## 注意事项 1. **非动态更新**: 需要重启节点生效。 2. **操作系统默认值**: 设置为 -1 时使用操作系统默认值,不同平台默认值不同。 3. **配置关系**: 此配置与 `transport.tcp.keep_idle` 和 `transport.tcp.keep_interval` 配合使用: - `keep_idle`: 空闲多久后开始发送探测 - `keep_interval`: 探测之间的间隔时间 - `keep_count`: 探测次数,达到此次数后声明连接死亡 4. **使用场景**: 特别适用于有防火墙或负载均衡器的环境,这些设备可能会丢弃空闲连接,通过定期探测确保 TCP 连接保持活跃。 5. **Linux 系统对应**: 此设置配置 Linux 系统的 `TCP_KEEPCNT` socket 选项。