更新时间:2024-05-07 GMT+08:00

连接池参数

当使用连接池访问数据库时,在系统运行过程中,数据库连接是被当作对象存储在内存中的,当用户需要访问数据库时,并非建立一个新的连接,而是从连接池中取出一个已建立的空闲连接来使用。用户使用完毕后,数据库并非将连接关闭,而是将连接放回连接池中,以供下一个请求访问使用。

pooler_port

参数说明:cm_agent、cm_ctl等内部工具运维管理端口,初始化用户或系统管理员通过客户端连接数据库所使用端口。

该参数属于POSTMASTER类型参数,请参考表2中对应设置方法进行设置。

取值范围:CN或DN实例的GUC参数"port"值加1。

默认值:CN或DN实例的GUC参数"port"默认值加1,CN实例该参数默认值为8001,DN实例该参数默认值为40001。

pooler_maximum_idle_time

参数说明:Pooler链接自动清理功能使用,当链接池中链接空闲时间超过所设置值时,会触发自动清理机制,清理各节点的空闲链接数到minimum_pool_size。

该参数属于USERSET类型参数,请参考表2中对应设置方法进行设置。

取值范围:整型,最小值为0,最大值为2147483647‬,最小单位为秒

默认值:10min(即600秒)

minimum_pool_size

参数说明:Pooler链接自动清理功能使用,自动清理后各pooler链接池对应节点的链接数最小剩余量,当参数设置为0时,可以关闭pooler链接自动清理功能。

该参数属于USERSET类型参数,请参考表2中对应设置方法进行设置。

取值范围:整型,最小值为1,最大值为65535

默认值:50

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中对应设置方法进行设置。

设置建议:按照不同实例规格下的默认值进行设置,该参数值需要大于max_connections,调整时需预留内部线程所消耗的连接。当业务并发高时,会消耗连接池中CN至其他CN/DN的连接,如果该参数配置过小,连接数达到上限时会产生报错,导致业务失败。由于CN启动时,会根据参数值提前申请内存,所以当该参数值变大,系统会消耗更多内存资源,但总体来说对CN内存影响不大。

persistent_datanode_connections

参数说明:会话是否会释放获得的连接。

该参数属于BACKEND类型参数,请参考表2中对应设置方法进行设置。

取值范围:布尔型

  • off表示会释放获得连接。
  • on表示不会释放获得连接。

    打开此开关后,会存在会话持有连接但并未运行查询的情况,导致其他查询申请不到连接报错。出现此问题时,需约束会话数量小于等于max_active_statements。

默认值:off

max_coordinators

参数说明:集群中CN的最大数目,当集群规模有变化时,如增加节点、减少节点,可能需要调整该参数。扩容时,请确保此参数值大于需要扩容到的集群中CN的个数,否则会导致扩容失败。缩容时,若此参数值偏大,CN启动时会消耗更多的内存资源,但总体来说对CN内存影响不大。

参数类型:整型

参数单位:

取值范围:2~1024

默认值:128

设置方式:该参数属于POSTMASTER类型参数,不建议修改此参数,若需修改,请参考表2中对应设置方法进行设置。

设置建议:按照集群的实际规格进行设置,当该参数小于集群当前CN个数,会导致节点创建失败。由于CN启动时,会根据参数值提前申请内存,所以当该参数值变大,系统会消耗更多内存资源,但总体来说对CN内存影响不大。

max_datanodes

参数说明:集群中DN的最大数目,当集群规模有变化时,如增加节点、减少节点,可能需要调整该参数。扩容时,请确保此参数值大于需要扩容到的集群中DN总分片数,否则会导致扩容失败。缩容时,若此参数值偏大,CN启动时会消耗更多的内存资源,但总体来说对CN内存影响不大。

参数类型:整型

参数单位:

取值范围:2-65535

默认值:256

设置方式:该参数属于POSTMASTER类型参数,不建议修改此参数,若需修改,请参考表2中对应设置方法进行设置。

设置建议:按照集群的实际规格进行设置,当该参数小于集群当前DN个数,会导致节点创建失败。由于CN启动时,会根据参数值提前申请内存,所以当该参数值变大,系统会消耗更多内存资源,但总体来说对CN内存影响不大。

cache_connection

参数说明:是否回收连接池的连接。

该参数属于SIGHUP类型参数,请参考表2中对应设置方法进行设置。

取值范围:布尔型

  • on表示回收连接池的连接。
  • off表示不回收连接池的连接。

默认值:on

enable_force_reuse_connections

参数说明:会话是否强制重用新的连接。

该参数属于BACKEND类型参数,请参考表2中对应设置方法进行设置。

取值范围:布尔型

  • on表示强制使用新连接。
  • off表示使用现有连接。

默认值:off

pooler_connect_max_loops

参数说明:pooler建链重试功能使用,主备切换场景增强建链稳定性,若节点间pooler建链失败会跟备机重试建连,此时若恰好备机升主机成功,则可以在重试阶段建链成功。该参数可以设置重试总轮数,增强建链稳定性。当参数设置为0时,可以关闭重试功能,业务只跟主机建链而不跟备机重试。

该参数属于USERSET类型参数,请参考表2中对应设置方法进行设置。

取值范围:整型,最小值为0,最大值为20。

默认值:1

pooler_connect_interval_time

参数说明:pooler建链重试功能使用,当参数pooler_connect_max_loops设置大于1时,该参数可以控制不同重试轮数之间执行时间间隔。参数设置方面,建议略大于当前集群主备切换恢复时间即。

该参数属于USERSET类型参数,请参考表2中对应设置方法进行设置。

取值范围:整型,最小值为0,最大值为7200,最小单位为秒。

默认值:15s

pooler_timeout

参数说明:CN连接池中的连接与其它CN/DN通讯时的超时时间。

该参数属于SIGHUP类型参数,请参考表2中对应设置方法进行设置。

取值范围:整型,最小值为0,最大值为7200,最小单位为秒。

默认值:10min

pooler_connect_timeout

参数说明:CN连接池与集群中其他CN/DN建立连接时的超时时间。

该参数属于SIGHUP类型参数,请参考表2中对应设置方法进行设置。

取值范围:整型,最小值为0,最大值为7200,最小单位为秒。

默认值:1min

pooler_cancel_timeout

参数说明:CN连接池在错误处理时Cancel某连接的超时时间。如果在子事务或存储过程异常捕获的过程中发生该类超时,那么包含子事务或存储过程的整个事务将发生回滚。在此基础上,在子事务或存储过程异常捕获的过程中,如果错误源自COPY FROM操作中源数据与目标表表结构的不一致,则只要该参数值不为0,就总会触发超时报错。

该参数属于SIGHUP类型参数,请参考表2中对应设置方法进行设置。

取值范围:整型,最小值为0,最大值为7200,最小单位为秒。其中0时(一般不建议)表示关闭此开关,不做超时限制。

默认值:15s