云数据库 GAUSSDB-通信库参数:tcp_user_timeout

时间:2024-11-13 14:45:07

tcp_user_timeout

参数说明:在支持TCP_USER_TIMEOUT套接字选项的操作系统上,设置 GaussDB 在发送数据时,指定传输的数据在TCP连接被强制关闭之前可以保持未确认状态的最大时长。

  • 如果操作系统不支持TCP_USER_TIMEOUT选项,这个参数的值将不生效,默认为0。
  • 在通过UNIX域套接字进行连接的操作系统上,这个参数将被忽略。

参数类型:整型

参数单位:ms

取值范围:0 ~ 3600000

默认值:0,表示跟随操作系统设置。

注意,不同操作系统内核下,这个参数生效结果将不同:

  • aarch64 EulerOS(Linux内核版本:4.19),超时时间即为该参数设置值。
  • x86 Euler2.5(Linux内核版本:3.10),超时时间不是该参数设置值,而是不同区间的最大值,即超时时间取值为:tcp_user_timeout设置值所处“Linux TCP重传总耗时”区间的上限最大值。例如:tcp_user_timeout=40000时,重传总耗时为51秒。
    表1 x86 Euler2.5(Linux内核版本:3.10)tcp_user_timeout参数取值示意

    Linux TCP重传次数

    Linux TCP重传总耗时区间(秒)

    tcp_user_timeout设置举例(毫秒)

    实际Linux TCP重传总耗时(秒)

    1

    (0.2,0.6]

    400

    0.6

    2

    (0.6,1.4]

    1000

    1.4

    3

    (1.4,3]

    2000

    3

    4

    (3,6.2]

    4000

    6.2

    5

    (6.2,12.6]

    10000

    12.6

    6

    (12.6,25.4]

    20000

    25.4

    7

    (25.4,51]

    40000

    51

    8

    (51,102.2]

    80000

    102.2

    9

    (102.2,204.6]

    150000

    204.6

    10

    (204.6,324.6]

    260000

    324.6

    11

    (324.6,444.6]

    400000

    444.6

    注:TCP每次重传耗时随重传次数指数增加,当TCP一次重传到达120秒后,后续每次重传都将耗时120秒不再变化。

设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。

设置建议:设置时请确认操作系统是否支持TCP_USER_TIMEOUT套接字选项。

设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。

support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-40-0322.html