更新时间:2024-11-12 GMT+08:00
分享

连接池参数

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

pooler_port

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

参数类型:整型

参数单位:

取值范围:1 ~ 65535。

默认值:不依赖OM组件安装且未指定该GUC参数,默认值是6667。依赖OM组件安装时,若指定port值,该参数值为port+1;若未指定port值,CN实例该参数默认值为8001,DN实例该参数默认值为40001。

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

设置建议一般为集群安装配置设置的值,不建议修改。

设置不当的风险与影响:修改此参数,很可能导致端口号冲突或被拦截,导致数据库通信失败。

pooler_maximum_idle_time

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

参数类型:整型

参数单位:秒(s)

取值范围:0 ~ 2147483647

默认值:600(即10min)

设置方式:该参数属于USERSET类型参数,请参考表2中对应设置方法进行设置。例如,设置为100,不带单位,表示100s;设置为20min,带单位,表示20min。取值如果要带单位,必须为s、min、h、d。

设置建议推荐使用默认值。

设置不当的风险与影响:配置过大,会降低pooler连接池中空闲连接的清理频率,降低回收速率;配置过小,会提高清理频率,导致业务频繁建立连接,对性能有一定损耗。

minimum_pool_size

参数说明:Pooler连接自动清理功能使用,表示自动清理后各pooler连接池对应节点的连接数最小剩余量。

参数类型:整型

参数单位:

取值范围:1 ~ 65535

默认值:50

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

设置建议推荐使用默认值。

设置不当的风险与影响:配置过大,会减少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中对应设置方法进行设置。

设置建议:按照不同实例规格下的默认值进行设置,该参数值需要大于max_connections,调整时需预留内部线程所消耗的连接。

设置不当的风险与影响:当业务并发高时,会消耗连接池中CN至其他CN/DN的连接,如果该参数配置过小,连接数达到上限时会产生报错,导致业务失败。由于CN启动时,会根据参数值提前申请内存,所以当该参数值变大,系统会消耗更多内存资源,但总体来说对CN内存影响不大。

persistent_datanode_connections

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

参数类型:布尔型

参数单位:

取值范围:

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

默认值:off

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

设置建议推荐使用默认值。

设置不当的风险与影响:开启该参数后,会存在会话持有连接但并未运行查询的情况,导致其他查询申请不到连接报错。

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

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

参数类型:布尔型

参数单位:

取值范围:

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

默认值:on

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

设置建议推荐使用默认值。

设置不当的风险与影响:关闭该参数后,会话执行语句结束后会直接清理掉持有的连接,导致业务频繁建立连接,对性能有一定损耗。开启该参数后,在多库场景下,当内存规格较小并且连接数max_connections配置较大时,可能会导致内存不足,DN无法启动。

enable_force_reuse_connections

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

参数类型:布尔型

参数单位:

取值范围:

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

默认值:off

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

设置建议推荐使用默认值。

设置不当的风险与影响:开启该参数后,每次执行语句前,会对已持有的连接强制发送reset参数的动作,对性能有一定损耗。

pooler_connect_max_loops

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

参数类型:整型

参数单位:

取值范围:0 ~ 20

默认值:1

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

设置建议推荐使用默认值。

设置不当的风险与影响:该参数是高可用参数,设置为0后,会关闭重试功能,降低高可用能力;设置大于1后,会增加重试次数。

pooler_connect_interval_time

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

参数类型:整型

参数单位:秒(s)

取值范围:0 ~ 7200

默认值:15

设置方式:该参数属于USERSET类型参数,请参考表2中对应设置方法进行设置。例如,设置为100,不带单位,表示100s;设置为20min,带单位,表示20min。取值如果要带单位,必须为s、min、h、d。

设置建议推荐使用默认值。

设置不当的风险与影响:该参数是高可用参数,若设置过长,会导致重试周期拉长,反而降低高可用能力。

pooler_timeout

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

参数类型:整型

参数单位:秒(s)

取值范围:0 ~ 7200

默认值:600(即10min)

设置方式:该参数属于SIGHUP类型参数,请参考表2中对应设置方法进行设置。例如,设置为100,不带单位,表示100s;设置为20min,带单位,表示20min。取值如果要带单位,必须为s、min、h、d。

设置建议推荐使用默认值。

设置不当的风险与影响:设置过小,当网络波动时,会导致收发数据报错;设置过大,当网络不通时,会导致收发数据报错的时间变长,降低高可用能力。

pooler_connect_timeout

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

参数类型:整型

参数单位:秒(s)

取值范围:0 ~ 7200

默认值:60(即1min)

设置方式:该参数属于SIGHUP类型参数,请参考表2中对应设置方法进行设置。例如,设置为100,不带单位,表示100s;设置为20min,带单位,表示20min。取值如果要带单位,必须为s、min、h、d。

设置建议推荐使用默认值。

设置不当的风险与影响:设置过小,当网络波动时,会导致建立连接报错;设置过大,当网络不通时,会导致建立连接报错的时间变长,降低高可用能力。

pooler_cancel_timeout

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

参数类型:整型

参数单位:秒(s)

取值范围:0 ~ 7200,其中0(一般不建议)表示关闭此开关,不做超时限制。

默认值:15

设置方式:该参数属于SIGHUP类型参数,请参考表2中对应设置方法进行设置。例如,设置为100,不带单位,表示100s;设置为20min,带单位,表示20min。取值如果要带单位,必须为s、min、h、d。

设置建议推荐使用默认值。

设置不当的风险与影响:设置过小,当网络波动时,会导致cancel动作报错;设置过大,当网络不通时,会导致cancel动作报错的时间变长,降低高可用能力。

相关文档