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