
# 通信库参数
本节介绍通信库相关的参数设置及取值范围等内容。
#### tcp_keepalives_idle
**参数说明：**在支持TCP_KEEPIDLE套接字选项的系统上，设置发送活跃信号的间隔秒数。不设置发送保持活跃信号，连接就会处于闲置状态。
该参数属于USERSET类型参数，请参考[表1](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/gaussdb-10-0254.html#ZH-CN_TOPIC_0000002235391689__zh-cn_topic_0000001631894377_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
![](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/public_sys-resources/notice_3.0-zh-cn.png)
- 如果操作系统不支持TCP_KEEPIDLE选项 ，这个参数的值必须为0。
- 在通过Unix域套接字进行的连接的操作系统上，这个参数将被忽略。
 
**取值范围：**0-3600，单位为s。
**默认值：**1min
#### tcp_keepalives_interval
**参数说明：**在支持TCP_KEEPINTVL套接字选项的操作系统上，以秒数声明在重新传输之间等待响应的时间。
该参数属于USERSET类型参数，请参考[表1](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/gaussdb-10-0254.html#ZH-CN_TOPIC_0000002235391689__zh-cn_topic_0000001631894377_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围：**0-180，单位为s。
**默认值：**30
![](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/public_sys-resources/notice_3.0-zh-cn.png)
- 如果操作系统不支持TCP_KEEPINTVL选项，这个参数的值必须为0。
- 在通过Unix域套接字进行的连接的操作系统上，这个参数将被忽略。
 
#### tcp_keepalives_count
**参数说明：**在支持TCP_KEEPCNT套接字选项的操作系统上，设置GaussDB服务端在断开与客户端连接之前可以等待的保持活跃信号个数。
该参数属于USERSET类型参数，请参考[表1](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/gaussdb-10-0254.html#ZH-CN_TOPIC_0000002235391689__zh-cn_topic_0000001631894377_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
![](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/public_sys-resources/notice_3.0-zh-cn.png)
- 如果操作系统不支持TCP_KEEPCNT选项，这个参数的值必须为0。
- 在通过Unix域套接字进行连接的操作系统上，这个参数将被忽略。
 
**取值范围：**0-100，其中0表示GaussDB未收到客户端反馈的保持活跃信号则立即断开连接。
**默认值：**20
#### tcp_user_timeout
**参数说明：**在支持TCP_USER_TIMEOUT套接字选项的操作系统上，设置GaussDB在发送数据时，指定传输的数据在TCP连接被强制关闭之前可以保持未确认状态的最大时长。
该参数属于SIGHUP类型参数，请参考[表1](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/gaussdb-10-0254.html#ZH-CN_TOPIC_0000002235391689__zh-cn_topic_0000001631894377_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
![](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/public_sys-resources/notice_3.0-zh-cn.png)
- 如果操作系统不支持TCP_USER_TIMEOUT选项，这个参数的值将不生效，默认为0。
- 在通过Unix域套接字进行连接的操作系统上，这个参数将被忽略。
 
**取值范围：**0-3600000，单位为ms。其中0表示跟随操作系统设置。
**默认值：**0
注意，不同操作系统内核下，这个参数生效结果将不同：
- aarch64 EulerOS（Linux内核版本：4.19），超时时间即为该参数设置值。
- x86 Euler2.5（Linux内核版本：3.10），超时时间不是该参数设置值，而是不同区间的最大值，即超时时间取值为：tcp_user_timeout设置值所处"Linux TCP重传总耗时"区间的上限最大值。例如：tcp_user_timeout=40000时，重传总耗时为51秒。
  表1x86 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秒不再变化。
  
 
#### comm_tcp_mode
**参数说明** **：**通信库使用TCP或SCTP协议（由于规格变更，当前版本已经不再支持本特性，请不要使用）建立数据通道的切换开关，重启集群生效。
该参数属于POSTMASTER类型参数，请参考[表1](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/gaussdb-10-0254.html#ZH-CN_TOPIC_0000002235391689__zh-cn_topic_0000001631894377_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
![](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/public_sys-resources/notice_3.0-zh-cn.png)
SCTP协议的连接不再提供支持，为了保持兼容，提供此参数的接口，但此参数会在设置过程中强制改为on。
**取值范围：**布尔型，CN设置为on表示使用TCP模式连接DN，DN设置为on表示DN间使用TCP代理通信。
**默认值：**on
#### comm_sctp_port
**参数说明：**TCP代理通信库或SCTP通信库（由于规格变更，当前版本已经不再支持本特性，请不要使用）使用的TCP或SCTP协议侦听端口，负责侦听数据报文通道。
该参数属于POSTMASTER类型参数，请参考[表1](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/gaussdb-10-0254.html#ZH-CN_TOPIC_0000002235391689__zh-cn_topic_0000001631894377_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
![](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/public_sys-resources/notice_3.0-zh-cn.png)
集群部署时会自动分配此端口号，请不要轻易修改此参数，如端口号配置不正确会导致数据库通信失败。
**取值范围：**整型，最小值为0，最大值为65535。
**默认值：**25110（实际值为guc参数port值+2，取决于用户配置）
#### comm_control_port
**参数说明：**TCP代理通信库或SCTP通信库（由于规格变更，当前版本已经不再支持本特性，请不要使用）使用的TCP协议侦听端口。
该参数属于POSTMASTER类型参数，请参考[表1](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/gaussdb-10-0254.html#ZH-CN_TOPIC_0000002235391689__zh-cn_topic_0000001631894377_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
![](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/public_sys-resources/notice_3.0-zh-cn.png)
集群部署时会自动分配此端口号，请不要轻易修改此参数，如端口号配置不正确会导致数据库通信失败。
**取值范围：**整型，最小值为0，最大值为65535。
**默认值：**25111（实际值为guc参数port值+3，取决于用户配置）
#### comm_max_datanode
**参数说明：**TCP代理通信库支持的最大DN数。
该参数属于USERSET类型参数，请参考[表1](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/gaussdb-10-0254.html#ZH-CN_TOPIC_0000002235391689__zh-cn_topic_0000001631894377_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围：**整型，最小值为1，最大值为8192。
**默认值：**单个节点支持的最大主DN数量为默认值。
**推荐值：**256
#### comm_max_stream
**参数说明：**TCP代理通信库支持的最大并发数据流数。该参数必须大于并发数\*每并发平均stream算子数\*smp的平方。
该参数属于POSTMASTER类型参数，请参考[表1](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/gaussdb-10-0254.html#ZH-CN_TOPIC_0000002235391689__zh-cn_topic_0000001631894377_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围：**整型，最小值为1，最大值为60000。
**默认值：**1024
![](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/public_sys-resources/notice_3.0-zh-cn.png)
- 不建议该参数值设置过大，因为comm_max_stream会占用内存（占用内存=256byte\*comm_max_stream\*comm_max_datanode），若并发数据流过大，查询较为复杂及smp过大都会导致内存不足。
- 如果comm_max_stream参数值较小，进程内存充足，可以适当将comm_max_stream值调大。
 
#### comm_max_receiver
**参数说明：**TCP代理通信库内部接收线程数量。
该参数属于POSTMASTER类型参数，请参考[表1](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/gaussdb-10-0254.html#ZH-CN_TOPIC_0000002235391689__zh-cn_topic_0000001631894377_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围：**整型，最小值为1，最大值为50。
**默认值：**4
#### comm_quota_size
**参数说明：**TCP代理通信库最大可连续发送包总大小。使用1GE网卡时，建议取较小值，推荐设置为20KB\~40KB。
该参数属于POSTMASTER类型参数，请参考[表1](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/gaussdb-10-0254.html#ZH-CN_TOPIC_0000002235391689__zh-cn_topic_0000001631894377_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围：**整型，最小值为0，最大值为2048000，默认单位为KB。
**默认值：**1MB
#### comm_usable_memory
**参数说明：**单个DN内TCP代理通信库缓存最大可使用内存。
![](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/public_sys-resources/notice_3.0-zh-cn.png)
此参数需根据环境内存及部署方式具体配置，过大会造成OOM，过小会降低TCP代理通信库或SCTP通信库（由于规格变更，当前版本已经不再支持本特性，请不要使用）性能。
该参数属于POSTMASTER类型参数，请参考[表1](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/gaussdb-10-0254.html#ZH-CN_TOPIC_0000002235391689__zh-cn_topic_0000001631894377_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围：**整型，最小值为100\*1024，最大值为1073741823，默认单位为KB。
**默认值：**4000MB
#### comm_memory_pool
**参数说明：**单个DN内TCP代理通信库可使用内存池资源的容量大小。
![](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/public_sys-resources/notice_3.0-zh-cn.png)
此参数需根据实际业务情况做调整，若通信库使用内存小，可设置该参数数值较小，反之设置数值较大。
该参数属于POSTMASTER类型参数，请参考[表1](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/gaussdb-10-0254.html#ZH-CN_TOPIC_0000002235391689__zh-cn_topic_0000001631894377_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围：**整型，最小值为100\*1024，最大值为1073741823，默认单位为KB。
**默认值：**2000MB
#### comm_memory_pool_percent
**参数说明：**单个DN内TCP代理通信库可使用内存池资源的百分比，用于自适应负载预留通信库通信消耗的内存大小。
![](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/public_sys-resources/notice_3.0-zh-cn.png)
此参数需根据实际业务情况做调整，若通信库使用内存小，可设置该参数数值较小，反之设置数值较大。
该参数属于POSTMASTER类型参数，请参考[表1](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/gaussdb-10-0254.html#ZH-CN_TOPIC_0000002235391689__zh-cn_topic_0000001631894377_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围：**整型，最小值为0，最大值为100。
**默认值：**0
#### comm_client_bind
**参数说明** **：**通信库客户端发起连接时是否使用bind绑定指定IP。
该参数属于USERSET类型参数，请参考[表1](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/gaussdb-10-0254.html#ZH-CN_TOPIC_0000002235391689__zh-cn_topic_0000001631894377_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围：**布尔型
- on表示绑定指定IP。
- off表示不绑定指定IP。
![](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/public_sys-resources/notice_3.0-zh-cn.png)
如果集群某一节点存在多个IP处于同一通信网段时，需设置为on。此时将绑定本地listen_addresses指定的IP发起通信，随机端口号不能重复使用，集群并发数量会受到可用随机端口号数量的限制。
**默认值：**off
#### comm_no_delay
**参数说明** **：**是否使用通信库连接的NO_DELAY属性。
该参数属于USERSET类型参数，请参考[表1](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/gaussdb-10-0254.html#ZH-CN_TOPIC_0000002235391689__zh-cn_topic_0000001631894377_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围：** 布尔型
![](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/public_sys-resources/notice_3.0-zh-cn.png)
如果集群出现因每秒接收数据包过多导致的丢包时，需设置为off，以便小包合并成大包发送，减少数据包总数。
**默认值：**off
#### comm_debug_mode
**参数说明：**TCP代理通信库debug模式开关，该参数设置是否打印通信层详细日志。
![](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/public_sys-resources/notice_3.0-zh-cn.png)
设置为on时，打印日志量较大，会增加额外的overhead并降低数据库性能，仅在调试时打开。
该参数属于USERSET类型参数，请参考[表1](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/gaussdb-10-0254.html#ZH-CN_TOPIC_0000002235391689__zh-cn_topic_0000001631894377_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围：**布尔型
- on表示打印通信库详细debug日志。
- off表示不打印通信库详细debug日志。
**默认值：**off
#### comm_ackchk_time
**参数说明：**无数据包接收情况下，该参数设置通信库服务端主动ACK触发时长。
该参数属于USERSET类型参数，请参考[表1](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/gaussdb-10-0254.html#ZH-CN_TOPIC_0000002235391689__zh-cn_topic_0000001631894377_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围：**整型，最小值为0，最大值为20000，单位为毫秒。取值为0表示关闭此功能。
**默认值：**2000（2s）
#### comm_timer_mode
**参数说明：**TCP代理通信库timer模式开关，该参数设置是否打印通信层各阶段时间桩。
![](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/public_sys-resources/notice_3.0-zh-cn.png)
设置为on时，打印日志量较大，会增加额外的overhead并降低数据库性能，仅在调试时打开。
该参数属于USERSET类型参数，请参考[表1](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/gaussdb-10-0254.html#ZH-CN_TOPIC_0000002235391689__zh-cn_topic_0000001631894377_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围：**布尔型
- on表示打印通信库详细时间桩日志。
- off表示不打印通信库详细时间桩日志。
**默认值：**off
#### comm_stat_mode
**参数说明：**TCP代理通信库stat模式开关，该参数设置是否打印通信层的统计信息。
![](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/public_sys-resources/notice_3.0-zh-cn.png)
设置为on时，打印日志量较大，会增加额外的overhead并降低数据库性能，仅在调试时打开。
该参数属于USERSET类型参数，请参考[表1](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/gaussdb-10-0254.html#ZH-CN_TOPIC_0000002235391689__zh-cn_topic_0000001631894377_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围：**布尔型
- on表示打印通信库统计信息日志。
- off表示不打印通信库统计信息日志。
**默认值：**off
#### enable_stateless_pooler_reuse
**参数说明** **：**pooler连接池复用切换开关，开启后可对已有的空闲TCP连接进行复用，重启集群生效。
该参数属于POSTMASTER类型参数，请参考[表1](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/gaussdb-10-0254.html#ZH-CN_TOPIC_0000002235391689__zh-cn_topic_0000001631894377_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围：**布尔型
- 设置为on/true表示使用pooler复用模式。
- 设置为off/false表示关闭pooler复用模式。
  ![](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/public_sys-resources/notice_3.0-zh-cn.png)
  CN和DN需要同步设置。如果CN设置enable_stateless_pooler_reuse为off，DN设置enable_stateless_pooler_reuse为on会导致集群不能正常通信，因此必须对该参数做CN和DN全局相同的配置，重启集群生效。
  
**默认值：**on
#### comm_cn_dn_logic_conn
**参数说明** **：**CN和DN间逻辑连接特性开关，重启集群生效。
该参数属于POSTMASTER类型参数，请参考[表1](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/gaussdb-10-0254.html#ZH-CN_TOPIC_0000002235391689__zh-cn_topic_0000001631894377_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围：**布尔型
- 设置为on/true表示CN和DN之间连接为逻辑连接，使用libcomm组件。
- 设置为off/false表示CN和DN之间连接为物理连接，使用libpq组件。
  ![](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/public_sys-resources/notice_3.0-zh-cn.png)
  不再提供CN和DN之间的逻辑连接支持，为了保持兼容，提供此参数的接口，但此参数会在设置过程中强制改为off。
  
**默认值：**off
#### COMM_IPC
**参数说明**：通信性能问题定位开关，该参数设置是否打印通信各个节点的报文收发情况。
该参数属于USERSET类型参数，请参考[表1](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/gaussdb-10-0254.html#ZH-CN_TOPIC_0000002235391689__zh-cn_topic_0000001631894377_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围** ：布尔型
- 设置为on/true表示打开报文收发统计日志。
- 设置为off/false表示关闭报文收发统计日志。
  ![](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/public_sys-resources/notice_3.0-zh-cn.png)
  set logging_module='on(COMM_IPC)'; --打开
  set logging_module='off(COMM_IPC)'; --关闭
  show logging_module; --查看设置结果。
  设置为on时，打印日志量较大，会增加额外的overhead并降低数据库性能，仅在调试 时打开，打开后及时关闭。
  
 
**默认值**：off
![](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/public_sys-resources/notice_3.0-zh-cn.png)
set logging_module='on(COMM_IPC)'; --打开
set logging_module='off(COMM_IPC)'; --关闭
show logging_module; --查看设置结果。
设置为on时，打印日志量较大，会增加额外的overhead并降低数据库性能，仅在调试 时打开，打开后及时关闭。
**默认值**：off
#### COMM_PARAM
**参数说明**：通信性能问题定位开关，该参数设置是否打印节点通信过程中session参数 设置情况。
该参数属于USERSET类型参数，请参考[表1](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/gaussdb-10-0254.html#ZH-CN_TOPIC_0000002235391689__zh-cn_topic_0000001631894377_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围** ：布尔型
- 设置为on/true表示打开连接的session参数设置日志。
- 设置为off/false表示关闭连接的session参数设置日志。
 
![](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/public_sys-resources/notice_3.0-zh-cn.png)
set logging_module='on(COMM_PARAM)'; --打开
set logging_module='off(COMM_PARAM)'; --关闭
show logging_module; --查看设置结果
设置为on时，打印日志量较大，会增加额外的overhead并降低数据库性能，仅在调试 时打开，打开后及时关闭。
**默认值**：off
