通信库参数
本节介绍通信库相关的参数设置及取值范围等内容。
tcp_keepalives_idle
参数说明:在支持TCP_KEEPIDLE套接字选项的系统上,设置发送活跃信号的间隔秒数。不设置发送保持活跃信号,连接就会处于闲置状态。
参数类型:USERSET
![](https://support.huaweicloud.com/devg-dws/public_sys-resources/notice_3.0-zh-cn.png)
- 如果操作系统不支持TCP_KEEPIDLE选项 ,则此参数的值必须为0。
- 在通过Unix域套接字进行的连接的操作系统上,此参数将被忽略。
取值范围:整型,0~3600,单位为秒(s)。
默认值:0
tcp_keepalives_interval
参数说明:在支持TCP_KEEPINTVL套接字选项的操作系统上,在重新传输之前等待keepalive响应的时间。
参数类型:USERSET
取值范围:整型,0~180,单位为秒(s)。
默认值:0
![](https://support.huaweicloud.com/devg-dws/public_sys-resources/notice_3.0-zh-cn.png)
- 如果操作系统不支持TCP_KEEPINTVL选项,则此参数的值必须为0。
- 在通过Unix域套接字进行的连接的操作系统上,此参数将被忽略。
tcp_keepalives_count
参数说明:在支持TCP_KEEPCNT套接字选项的操作系统上,设置GaussDB(DWS)服务端在断开与客户端连接之前可以等待的保持活跃信号个数。
参数类型:USERSET
![](https://support.huaweicloud.com/devg-dws/public_sys-resources/notice_3.0-zh-cn.png)
- 如果操作系统不支持TCP_KEEPCNT选项,则此参数的值必须为0。
- 在通过Unix域套接字进行连接的操作系统上,此参数将被忽略。
取值范围:整型,0~100,其中0表示GaussDB(DWS)未收到客户端反馈的保持活跃信号则立即断开连接。
默认值:0
comm_max_datanode
参数说明:TCP代理通信库或SCTP通信库支持的最大DN数。
参数类型:USERSET
取值范围:整型,1~8192
默认值:实际DN数
![](https://support.huaweicloud.com/devg-dws/public_sys-resources/notice_3.0-zh-cn.png)
DN数由小改大时立即生效,由大改小时需重启集群生效。
comm_max_stream
参数说明:TCP代理通信库或SCTP通信库支持的最大并发数据流数。该参数值必须大于并发数*每并发平均stream算子数*(smp的平方)。
参数类型:POSTMASTER
取值范围:整型,1~60000
默认值:通过公式min(query_dop_limit * query_dop_limit * 2 * 20, max_process_memory(字节) * 0.025 /(最大CN数+当前DN数) / 260)计算,小于1024按照1024取值,其中,query_dop_limit = 单个机器CPU核数 / 单个机器DN数。
![](https://support.huaweicloud.com/devg-dws/public_sys-resources/note_3.0-zh-cn.png)
- 不建议该参数值设置过大,因为comm_max_stream会占用内存(占用内存=256byte*comm_max_stream*comm_max_datanode),若并发数据流数过大,查询较为复杂及smp过大都会导致内存不足。
- 如果comm_max_datanode参数值较小,进程内存充足,可以适当将comm_max_stream值调大。
max_stream_pool
参数说明:设置stream线程池能够容纳stream线程的最大个数。该参数8.1.2及以上版本支持。
参数类型:SUSET
取值范围:整型,-1~INT_MAX,-1和0表示关闭stream线程池。
默认值:65535
![](https://support.huaweicloud.com/devg-dws/public_sys-resources/note_3.0-zh-cn.png)
- 支持实时减少线程池中stream线程的个数;若增大该参数值,stream线程的个数由业务驱动向上增长。
- 通常情况下不建议调整该参数值,因为stream线程池有自动清理功能。
- 如果stream空闲线程过多造成内存占用,可以调小此值以节约内存。
comm_quota_size
参数说明:TCP代理通信库或SCTP通信库最大可连续发送包总大小。使用1GE网卡时,建议取较小值,推荐设置为20KB~40KB。
参数类型:USERSET
取值范围:整型,0~102400,默认单位为KB。0表示不使用quota机制。
默认值:1MB
comm_usable_memory
参数说明:单个DN内TCP代理通信库或SCTP通信库缓存最大可使用内存。
参数类型:POSTMASTER
取值范围:整型,1GB~256GB,默认单位为GB。安装时最小值不得小于1GB。
默认值:max_process_memory/8
![](https://support.huaweicloud.com/devg-dws/public_sys-resources/notice_3.0-zh-cn.png)
此参数需根据环境内存及部署方式具体配置,过大会造成OOM,过小会降低TCP代理通信库或SCTP通信库性能。
comm_client_bind
参数说明:通信库客户端发起连接时是否使用bind绑定指定IP。
参数类型:USERSET
取值范围:布尔型
- on表示绑定指定IP。
- off表示不绑定指定IP。
![](https://support.huaweicloud.com/devg-dws/public_sys-resources/notice_3.0-zh-cn.png)
如果集群某一节点存在多个IP处于同一通信网段时,需设置为on。此时将绑定本地listen_addresses指定的IP发起通信,随机端口号不能重复使用,集群并发数量会受到可用随机端口号数量的限制。
默认值:off
comm_no_delay
参数说明:是否使用通信库连接的NO_DELAY属性,重启集群生效。
参数类型:USERSET
取值范围:布尔型
默认值:off
![](https://support.huaweicloud.com/devg-dws/public_sys-resources/notice_3.0-zh-cn.png)
如果集群出现因每秒接收数据包过多导致的丢包时,需设置为off,以便小包合并成大包发送,减少数据包总数。
comm_debug_mode
参数说明:TCP代理通信库或SCTP通信库debug模式开关,该参数设置是否打印通信层详细日志,session级别生效。
![](https://support.huaweicloud.com/devg-dws/public_sys-resources/notice_3.0-zh-cn.png)
设置为on时,打印日志量较大,会增加额外的overhead并降低数据库性能,仅在调试时打开,打开后及时关闭。
参数类型:USERSET
取值范围:布尔型
- on表示打印通信库详细debug日志。
- off表示不打印通信库详细debug日志。
默认值:off
comm_ackchk_time
参数说明:无数据包接收情况下,该参数设置通信库服务端主动ACK触发时长。
参数类型:USERSET
取值范围:整型,0~20000,单位为毫秒(ms)。取值为0表示关闭此功能。
默认值:2000
comm_timer_mode
参数说明:TCP代理通信库或SCTP通信库timer模式开关,该参数设置是否打印通信层各阶段时间桩,session级别生效。
![](https://support.huaweicloud.com/devg-dws/public_sys-resources/notice_3.0-zh-cn.png)
设置为on时,打印日志量较大,会增加额外的overhead并降低数据库性能,仅在调试时打开,打开后及时关闭。
参数类型:USERSET
取值范围:布尔型
- on表示打印通信库详细时间桩日志。
- off表示不打印通信库详细时间桩日志。
默认值:off
comm_stat_mode
参数说明:TCP代理通信库或SCTP通信库stat模式开关,该参数设置是否打印通信层的统计信息,session级别生效。
![](https://support.huaweicloud.com/devg-dws/public_sys-resources/notice_3.0-zh-cn.png)
设置为on时,打印日志量较大,会增加额外的overhead并降低数据库性能,仅在调试时打开,打开后及时关闭。
参数类型:USERSET
取值范围:布尔型
- on表示打印通信库统计信息日志。
- off表示不打印通信库统计信息日志。
默认值:off