跳转至

mod_tcp_keepalive

模块简介

mod_tcp_keepalive管理TCP长连接心跳包的发送策略。

在某些场景下可能对耗电量十分敏感,比如智能手表待机状态,希望能够停止发送TCP长连接时的心跳包,或者降低其发送频率,此模块即可以用来处理此类或者其他需要管理TCP心跳包发送策略的场景。

基础配置

配置描述

模块配置文件: conf/mod_tcp_keepalive/mod_tcp_keepalive.conf

配置项 描述
Basic.DataPath String
规则文件路径
Log.OpenDebug Boolean
是否开启debug模式

配置示例

[Basic]
DataPath = ../data/mod_tcp_keepalive/tcp_keepalive.data

[Log]
OpenDebug = false

规则配置

配置描述

配置项 描述
Version String
配置文件版本
Config Object
各产品线(租户)的TCP心跳包管理规则
Config{k} String
产品线名称
Config{v} Array
产品线的规则列表
Config{v}[] Object
某一条规则详细信息
Config{v}[].VipConf Array
需要配置的VIP(Virtual IP)数组,数组中的VIP共用以下同一套策略
Config{v}[].KeepAliveParam Object
TCP长连接心跳包发送策略
Config{v}[].KeepaliveParam.Disable Bool
是否关闭心跳包发送,默认false
Config{v}[].KeepaliveParam.KeepIdle Int
长连接中多长时间无数据发送后,开始发送心跳包
Config{v}[].KeepaliveParam.KeepIntvl Int
如果上个心跳包未收到回应,多长时间后再次发送心跳包
Config{v}[].KeepaliveParam.KeepCnt Int
心跳包未收到回应,再次发送心跳包的重试次数

配置示例

{
    "Config": {
        "product1": [
            {
                "VipConf": ["10.1.1.1", "10.1.1.2"],
                "KeepAliveParam": {
                    "KeepIdle": 70,
                    "KeepIntvl": 15,
                    "KeepCnt": 9
                }
            },
            {
                "VipConf": ["10.1.1.3"],
                "KeepAliveParam": {
                    "Disable": true
                }
            }
        ],
        "product2": [
            {
                "VipConf": ["10.2.1.1"],
                "KeepAliveParam": {
                    "KeepIdle": 20,
                    "KeepIntvl": 15
                }
            }
        ]
    },
    "Version": "2021-06-25 14:31:06"
}

监控项

监控项 描述
CONN_TO_SET 命中配置规则的连接总数
CONN_SET_KEEP_IDLE 设置keepIdle属性的连接数
CONN_SET_KEEP_IDLE_ERROR 设置keepIdle属性失败的连接数
CONN_SET_KEEP_INTVL 设置keepIntvl属性的连接数
CONN_SET_KEEP_INTVL_ERROR 设置keepIntvl属性失败的连接数
CONN_SET_KEEP_CNT 设置keepCnt属性的连接数
CONN_SET_KEEP_CNT_ERROR 设置keepCnt属性失败的连接数
CONN_DISABLE_KEEP_ALIVE 设置disable属性的连接数
CONN_DISABLE_KEEP_ALIVE_ERROR 设置disable属性失败的连接数
CONN_COVERT_TO_TCP_CONN_ERROR 将连接类型转换为TCPConn类型失败的次数