
# 连接池参数
当使用连接池访问数据库时，在系统运行过程中，数据库连接是被当作对象存储在内存中的，当用户需要访问数据库时，并非建立一个新的连接，而是从连接池中取出一个已建立的空闲连接来使用。用户使用完毕后，数据库并非将连接关闭，而是将连接放回连接池中，以供下一个请求访问使用。
#### pooler_port
**参数说明：**cm_agent、cm_ctl等内部工具运维管理端口，初始化用户或系统管理员通过客户端连接数据库所使用端口。
**参数类型：**整型
**参数单位：**无
**取值范围：**1 \~ 65535。
**默认值：**不依赖OM组件安装且未指定该GUC参数，默认值是6667。依赖OM组件安装时，若指定port值，该参数值为port+1；若未指定port值，CN实例该参数默认值为8001，DN实例该参数默认值为40001。
**设置方式：** 该参数属于POSTMASTER类型参数，请参考[表2](https://support.huaweicloud.com/distributed-devg-v8-gaussdb/gaussdb-10-0254.html#ZH-CN_TOPIC_0000002527826790__zh-cn_topic_0000002558055361_zh-cn_topic_0000002338364610_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
**设置建议** **：**一般为集群安装配置设置的值，不建议修改。
**设置不当的风险与影响：**修改此参数，很可能导致端口号冲突或被拦截，导致数据库通信失败。
#### pooler_maximum_idle_time
**参数说明：** Pooler连接自动清理功能使用，当连接池中连接空闲时间超过所设置值时，会触发自动清理机制，清理各节点的空闲连接数到[minimum_pool_size]。
**参数类型：**整型
**参数单位：**s（秒）
**取值范围：** 0 \~2147483647
**默认值：**600（即10min）
**设置方式：** 该参数属于USERSET类型参数，请参考[表2](https://support.huaweicloud.com/distributed-devg-v8-gaussdb/gaussdb-10-0254.html#ZH-CN_TOPIC_0000002527826790__zh-cn_topic_0000002558055361_zh-cn_topic_0000002338364610_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。例如，设置为100，不带单位，表示100s；设置为20min，带单位，表示20min。取值如果要带单位，必须为s、min、h、d。
**设置建议** **：**推荐使用默认值。
**设置不当的风险与影响：**配置过大，会降低pooler连接池中空闲连接的清理频率，降低回收速率；配置过小，会提高清理频率，导致业务频繁建立连接，对性能有一定损耗。
 #### minimum_pool_size
**参数说明：**Pooler连接自动清理功能使用，表示自动清理后各pooler连接池对应节点的连接数最小剩余量。
**参数类型：**整型
**参数单位：**无
**取值范围：** 1 \~65535
**默认值：**50
**设置方式：** 该参数属于USERSET类型参数，请参考[表2](https://support.huaweicloud.com/distributed-devg-v8-gaussdb/gaussdb-10-0254.html#ZH-CN_TOPIC_0000002527826790__zh-cn_topic_0000002558055361_zh-cn_topic_0000002338364610_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
**设置建议** **：**推荐使用默认值。
**设置不当的风险与影响：**配置过大，会减少pooler连接池中空闲连接的清理数量，降低回收速率；配置过小，会增大清理数量，导致业务频繁建立连接，对性能有一定损耗。
#### max_pool_size
**参数说明：**CN的连接池与其它某个CN/DN的最大连接数，当集群规模有变化，如增加节点、减少节点时，可能需要调整该参数。
**参数类型** **：**整型
**参数单位：**无
**取值范围：**1 \~ 65535
**默认值：**
- 独立部署：
  32768（60核CPU/480G内存）；16384（32核CPU/256G内存）；8192（16核CPU/128G内存）；4096（8核CPU/64G内存）；2048（4核CPU/32G内存）；1000（4核CPU/16G内存）
  
**设置方式：** 该参数属于POSTMASTER类型参数，请参考[表2](https://support.huaweicloud.com/distributed-devg-v8-gaussdb/gaussdb-10-0254.html#ZH-CN_TOPIC_0000002527826790__zh-cn_topic_0000002558055361_zh-cn_topic_0000002338364610_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
**设置建议：** 按照不同实例规格下的默认值进行设置，该参数值需要大于[max_connections](https://support.huaweicloud.com/distributed-devg-v8-gaussdb/gaussdb-10-0259.html#ZH-CN_TOPIC_0000002527986738__zh-cn_topic_0000002527056202_zh-cn_topic_0000002338364430_zh-cn_topic_0059777636_sa723b719fa70453bb7ec27f323d41c79)，调整时需预留内部线程所消耗的连接。
**设置不当的风险与影响：**当业务并发高时，会消耗连接池中CN至其他CN/DN的连接，如果该参数配置过小，连接数达到上限时会产生报错，导致业务失败。由于CN启动时，会根据参数值提前申请内存，所以当该参数值变大，系统会消耗更多内存资源，但总体来说对CN内存影响不大。
#### persistent_datanode_connections
**参数说明：**会话是否会释放获得的连接。
**参数类型：**布尔型
**参数单位：**无
**取值范围：**
- on：表示不会释放获得的连接。
- off：表示会释放获得的连接。
**默认值：**off
**设置方式：** 该参数属于BACKEND类型参数，请参考[表2](https://support.huaweicloud.com/distributed-devg-v8-gaussdb/gaussdb-10-0254.html#ZH-CN_TOPIC_0000002527826790__zh-cn_topic_0000002558055361_zh-cn_topic_0000002338364610_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
**设置建议** **：**推荐使用默认值。
**设置不当的风险与影响：**开启该参数后，会存在会话持有连接但并未运行查询的情况，导致其他查询申请不到连接报错。
#### max_coordinators
**参数说明：**集群中CN的最大数目，当集群规模有变化，如增加节点、减少节点时，可能需要调整该参数。扩容时，请确保此参数值大于需要扩容到的集群中CN的个数，否则会导致扩容失败。缩容时，若此参数值偏大，CN启动时会消耗更多的内存资源，但总体来说对CN内存影响不大。
**参数类型：**整型
**参数单位：**无
**取值范围：**2 \~ 1024
**默认值：**128
**设置方式：** 该参数属于POSTMASTER类型参数，不建议修改此参数，若需修改，请参考[表2](https://support.huaweicloud.com/distributed-devg-v8-gaussdb/gaussdb-10-0254.html#ZH-CN_TOPIC_0000002527826790__zh-cn_topic_0000002558055361_zh-cn_topic_0000002338364610_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
**设置建议：**按照集群的实际规格进行设置。
**设置不当的风险与影响：**该参数小于集群当前CN个数时，会导致节点创建失败。由于CN启动时，会根据参数值提前申请内存，所以当该参数值变大，系统会消耗更多内存资源，但总体来说对CN内存影响不大。
#### max_datanodes
**参数说明：**集群中DN的最大数目，当集群规模有变化，如增加节点、减少节点时，可能需要调整该参数。扩容时，请确保此参数值大于需要扩容到的集群中DN总分片数，否则会导致扩容失败。缩容时，若此参数值偏大，CN启动时会消耗更多的内存资源，但总体来说对CN内存影响不大。
**参数类型：**整型
**参数单位：**无
**取值范围：**2 \~ 65535
**默认值：**256
**设置方式：** 该参数属于POSTMASTER类型参数，不建议修改此参数，若需修改，请参考[表2](https://support.huaweicloud.com/distributed-devg-v8-gaussdb/gaussdb-10-0254.html#ZH-CN_TOPIC_0000002527826790__zh-cn_topic_0000002558055361_zh-cn_topic_0000002338364610_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
**设置建议：**按照集群的实际规格进行设置。
**设置不当的风险与影响：**该参数小于集群当前DN个数时，会导致节点创建失败。由于CN启动时，会根据参数值提前申请内存，所以当该参数值变大，系统会消耗更多内存资源，但总体来说对CN内存影响不大。
#### cache_connection
**参数说明：**是否回收连接池的连接。
**参数类型：**布尔型
**参数单位：**无
**取值范围：**
- on：表示回收连接池的连接。
- off：表示不回收连接池的连接。
**默认值：**on
**设置方式：** 该参数属于SIGHUP类型参数，请参考[表2](https://support.huaweicloud.com/distributed-devg-v8-gaussdb/gaussdb-10-0254.html#ZH-CN_TOPIC_0000002527826790__zh-cn_topic_0000002558055361_zh-cn_topic_0000002338364610_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
**设置建议** **：**推荐使用默认值。
**设置不当的风险与影响：**关闭该参数后，会话执行语句结束后会直接清理掉持有的连接，导致业务频繁建立连接，对性能有一定损耗。开启该参数后，在多库场景下，当内存规格较小并且连接数max_connections配置较大时，可能会导致内存不足，DN无法启动。
#### enable_force_reuse_connections
**参数说明：**会话是否强制重用新的连接。
**参数类型：**布尔型
**参数单位：**无
**取值范围：**
- on：表示强制使用新连接。
- off：表示使用现有连接。
**默认值：**off
**设置方式：** 该参数属于BACKEND类型参数，请参考[表2](https://support.huaweicloud.com/distributed-devg-v8-gaussdb/gaussdb-10-0254.html#ZH-CN_TOPIC_0000002527826790__zh-cn_topic_0000002558055361_zh-cn_topic_0000002338364610_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
**设置建议** **：**推荐使用默认值。
**设置不当的风险与影响：**开启该参数后，每次执行语句前，会对已持有的连接强制发送reset参数的动作，对性能有一定损耗。
 #### pooler_connect_max_loops
**参数说明：**该参数由pooler建立连接重试功能使用，主备切换场景增强建立连接的稳定性，若节点间pooler建连失败会尝试跟备机重新建立连接，此时若恰好备机升主机成功，则可以在重试阶段建立连接成功。该参数可以设置重试总轮数，增强建立连接的稳定性。当参数设置为0时，可以关闭重试功能，业务只跟主机建立连接而不跟备机重试。
**参数类型：**整型
**参数单位：**无
**取值范围：**0 \~ 20
**默认值：**1
**设置方式：** 该参数属于USERSET类型参数，请参考[表2](https://support.huaweicloud.com/distributed-devg-v8-gaussdb/gaussdb-10-0254.html#ZH-CN_TOPIC_0000002527826790__zh-cn_topic_0000002558055361_zh-cn_topic_0000002338364610_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
**设置建议** **：**推荐使用默认值。
**设置不当的风险与影响：**该参数是高可用参数，设置为0后，会关闭重试功能，降低高可用能力；设置大于1后，会增加重试次数。
#### pooler_connect_interval_time
**参数说明：** 该参数由pooler建立连接重试功能使用，当参数[pooler_connect_max_loops]设置大于1时，该参数可以控制不同重试轮数之间执行时间间隔。参数设置方面，建议略大于当前集群主备切换恢复时间。
**参数类型：**整型
**参数单位：**s（秒）
**取值范围：**0 \~ 7200
**默认值：**15
**设置方式：** 该参数属于USERSET类型参数，请参考[表2](https://support.huaweicloud.com/distributed-devg-v8-gaussdb/gaussdb-10-0254.html#ZH-CN_TOPIC_0000002527826790__zh-cn_topic_0000002558055361_zh-cn_topic_0000002338364610_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。例如，设置为100，不带单位，表示100s；设置为20min，带单位，表示20min。取值如果要带单位，必须为s、min、h、d。
**设置建议** **：**推荐使用默认值。
**设置不当的风险与影响：**该参数是高可用参数，若设置过长，会导致重试周期拉长，反而降低高可用能力。
#### pooler_timeout
**参数说明：**CN连接池中的连接与其它CN/DN通讯时的超时时间。
**参数类型：**整型
**参数单位：**s（秒）
**取值范围：**0 \~ 7200
**默认值：**600（即10min）
**设置方式：** 该参数属于SIGHUP类型参数，请参考[表2](https://support.huaweicloud.com/distributed-devg-v8-gaussdb/gaussdb-10-0254.html#ZH-CN_TOPIC_0000002527826790__zh-cn_topic_0000002558055361_zh-cn_topic_0000002338364610_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。例如，设置为100，不带单位，表示100s；设置为20min，带单位，表示20min。取值如果要带单位，必须为s、min、h、d。
**设置建议** **：**推荐使用默认值。
**设置不当的风险与影响：**设置过小，当网络波动时，会导致收发数据报错；设置过大，当网络不通时，会导致收发数据报错的时间变长，降低高可用能力。
#### pooler_connect_timeout
**参数说明：**CN连接池与集群中其他CN/DN建立连接时的超时时间。
**参数类型：**整型
**参数单位：**s（秒）
**取值范围：**0 \~ 7200
**默认值：**60（即1min）
**设置方式：** 该参数属于SIGHUP类型参数，请参考[表2](https://support.huaweicloud.com/distributed-devg-v8-gaussdb/gaussdb-10-0254.html#ZH-CN_TOPIC_0000002527826790__zh-cn_topic_0000002558055361_zh-cn_topic_0000002338364610_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。例如，设置为100，不带单位，表示100s；设置为20min，带单位，表示20min。取值如果要带单位，必须为s、min、h、d。
**设置建议** **：**推荐使用默认值。
**设置不当的风险与影响：**设置过小，当网络波动时，会导致建立连接报错；设置过大，当网络不通时，会导致建立连接报错的时间变长，降低高可用能力。
#### pooler_cancel_timeout
**参数说明：**CN连接池在错误处理时Cancel某连接的超时时间。如果在子事务或存储过程异常捕获的过程中发生该类超时，那么包含子事务或存储过程的整个事务将发生回滚。在此基础上，在子事务或存储过程异常捕获的过程中，如果错误源自COPY FROM操作中源数据与目标表表结构的不一致，则只要该参数值不为0，就总会触发超时报错。
**参数类型：**整型
**参数单位：**s（秒）
**取值范围：**0 \~ 7200，其中0（一般不建议）表示关闭此开关，不做超时限制。
**默认值：**15
**设置方式：** 该参数属于SIGHUP类型参数，请参考[表2](https://support.huaweicloud.com/distributed-devg-v8-gaussdb/gaussdb-10-0254.html#ZH-CN_TOPIC_0000002527826790__zh-cn_topic_0000002558055361_zh-cn_topic_0000002338364610_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。例如，设置为100，不带单位，表示100s；设置为20min，带单位，表示20min。取值如果要带单位，必须为s、min、h、d。
**设置建议** **：**推荐使用默认值。
**设置不当的风险与影响：**设置过小，当网络波动时，会导致cancel动作报错；设置过大，当网络不通时，会导致cancel动作报错的时间变长，降低高可用能力。
