#openGauss #入门 #安装 #数据库 #开源
知识来源:docs-opengauss.osinfra.cn/zh/
max_connections
参数说明: 允许和数据库连接的最大并发连接数。此参数会影响openGauss的并发能力。
该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。
取值范围: 整型。最小值为10(要大于max_wal_senders),理论最大值为262143,实际最大值为动态值,计算公式为“262143 - job_queue_processes - autovacuum_max_workers - AUXILIARY_BACKENDS - AV_LAUNCHER_PROCS - max_inner_tool_connections”。job_queue_processes、autovacuum_max_workers和max_inner_tool_connections的值取决于对应GUC参数的设置。AUXILIARY_BACKENDS为预留辅助线程数,固定为20。AV_LAUNCHER_PROCS为预留autovacuum的lancher线程数,固定为2。
在资源池化模式下,最小值为10(要大于max_wal_senders),理论最大值为16000,实际最大值动态值计算公式为”16380 - job_queue_processes - autovacuum_max_workers - AUXILIARY_BACKENDS - AV_LAUNCHER_PROCS - max_undo_workers - thread_pool_stream_proc_num - NUM_CMAGENT_PROCS - NUM_AUXILIARY_PROCS - NUM_DCF_CALLBACK_PROCS - NUM_DMS_CALLBACK_PROCS - (max_prepared_xacts * NUM_TWOPHASE_PARTITIONS)”。其中job_queue_processes、autovacuum_max_workers、AUXILIARY_BACKENDS、AV_LAUNCHER_PROCS与非资源池化场景取值一致,max_undo_workers、thread_pool_stream_proc_num(stream_thread_num * stream_proc_ratio)、NUM_DCF_CALLBACK_PROCS(enable_dcf=off时为0)、max_prepared_xacts、NUM_TWOPHASE_PARTITIONS的值取决于对应GUC参数的设置、NUM_CMAGENT_PROCS为预留cm线程数,固定为10。NUM_AUXILIARY_PROCS为预留内核auxiliary线程数(当前版本为70)与group_num的和。NUM_DMS_CALLBACK_PROCS 为ss_interconnect_channel_count、ss_interconnect_url与ss_work_thread_count之和。
默认值:
- 200:编译安装数据库或极简安装数据库的情况下。
- 5000:使用om安装数据库的情况下。
设置建议:
数据库主节点中此参数建议保持默认值。
配置不当时影响:
- 若配置max_connections过大,超过计算公式所描述的最大动态值,会出现节点拉起失败问题,报错提示“invalid value for parameter “max_connections””。
- 若未按照对外出口规格配置仅调大max_connections参数值,未同比例调整内存参数。业务压力大时,容易出现内存不足,报错提示“memory is temporarily unavailable”。
说明:
- 对于管理员用户的连接数限制会略超过max_connections设置,目的是为了让管理员在链接被普通用户占满后仍可以连接上数据库,再超过一定范围(sysadmin_reserved_connections参数)后才会报错。即管理员用户的最大连接数等于max_connections + sysadmin_reserved_connections。
- 对于普通用户来说,由于内部作业也会使用一些链接,因此会略小于max_connections,具体值取决于内部链接个数。
#openGauss #入门 #安装 #数据库 #开源