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

连接设置

介绍设置客户端和服务器连接方式相关的参数。

light_comm

参数说明:设置服务器是否使用轻量通信方式。

该参数指定服务器是否使用基于轻量锁和非阻塞socket的通信方式。

参数类型:布尔型

参数单位:

取值范围:

  • on:表示使用轻量通信方式。
  • off:表示不使用轻量通信方式。

默认值:off

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

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

设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。

listen_addresses

参数说明:声明服务器侦听客户端的TCP/IP地址。

该参数指定GaussDB服务器使用哪些IP地址进行侦听,如IPv4或IPv6。服务器主机上可能存在多个网卡,每个网卡可以绑定多个IP地址,该参数用来控制GaussDB绑定在哪一个或者哪几个IP地址上。而客户端则可以通过该参数中指定的IP地址来连接GaussDB或者给GaussDB发送请求。

参数类型:字符串

参数单位:

取值范围:

  • 主机名或IP地址,多个值之间用英文逗号分隔。
  • “*”或“0.0.0.0”或“::”表示侦听所有IP地址。配置侦听所有IP地址存在安全风险,不推荐用户使用。
  • 置空则服务器不会侦听任何IP地址,这种情况下,只有Unix域套接字可以用于连接数据库。

默认值:

集群安装好后,根据public_cloud.conf配置文件中不同实例的IP地址配置不同默认值。CN的默认参数值为:“localhost,mgr.net网卡对应的IP地址,data.net网卡对应的IP地址,virtual.net网卡对应的IP地址”;DN的默认参数值为:“data.net网卡对应的IP”。

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

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

localhost表示只允许进行本地“回环”连接。

public_cloud.conf文件保存的网卡信息,包括:mgr.net(管理网卡)、data.net(数据网卡)、virtual.net(虚拟网卡)。

使用IPv6地址时,若IP为fe80地址块,则配置时需要追加'%zone index'信息。

设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。

listen_address_ext

参数说明:声明服务器侦听客户端的扩展TCP/IP地址。该参数指定GaussDB服务器使用哪些IP地址作为扩展侦听IP。

参数类型:字符串

参数单位:

取值范围:IPv4或者IPv6格式地址,不支持多IP设置。

默认值:“localhost”。

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

设置建议:在BMS部署形态下,集群安装启动时自动配置。不建议用户手动配置使用。

  • listen_address_ext参数配置涉及整个集群扩展IP的网络拓扑关系和配置,所以set/reload都必须通过OM工具实现。
  • listen_address_ext是用于扩展具体IP地址的网络通道,若设置为“*”,“0.0.0.0”,“localhost”,“127.0.0.1”,“::-1”则不生效,建议此类地址设置在listen_addresses参数中。
  • listen_address_ext用于配置分布式DN实例,CN配置后不生效。

设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。

local_bind_address

参数说明:声明当前节点连接集群其他节点绑定的本地IP地址。

参数类型:字符串

参数单位:

取值范围:IPv4或IPv6格式地址,不支持多IP设置。

默认值:

集群安装好后,根据public_cloud.conf配置文件中不同实例的IP地址配置不同默认值。CN/DN的默认参数值为:“data.net网卡对应的IP地址”。

public_cloud.conf文件保存的网卡信息,包括:mgr.net(管理网卡)、data.net(数据网卡)、virtual.net(虚拟网卡)。

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

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

设置不当的风险与影响:该参数由安装时的配置文件指定,请勿轻易修改,否则修改后会影响数据库正常通信。

port

参数说明:GaussDB服务侦听的TCP端口号。

参数类型:整型

参数单位:

取值范围:1 ~ 65535

  • 设置端口号时,请设置一个未被占用的端口号。设置多个实例的端口号,不可冲突。
  • 1~1023为操作系统保留端口号,请不要使用。
  • 通过配置文件安装集群时,配置文件中的端口号需要注意通信矩阵预留端口。如:DN还需保留dataPortBase+1作为内部工具使用端口。故集群安装阶段,port最大值为:CN可设置65532,DN可设置65529,GTM可设置65534,同时需要保证端口号不冲突。

默认值:5432(实际值由安装时的配置文件指定)

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

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

设置不当的风险与影响:该参数由安装时的配置文件指定,请勿轻易修改,否则修改后会影响数据库正常通信。

max_connections

参数说明:允许和数据库连接的最大并发连接数。此参数会影响集群的并发能力。

参数类型:整型

参数单位:

取值范围:最小值为10(要大于max_wal_senders),理论最大值为262143,实际最大值为动态值,计算公式为“262143 - job_queue_processes - autovacuum_max_workers - max_inner_tool_connections - max_concurrent_autonomous_transactions - AUXILIARY_BACKENDS - AV_LAUNCHER_PROCS - min(max(newValue/4,64),1024)”,job_queue_processesautovacuum_max_workersmax_inner_tool_connectionsmax_concurrent_autonomous_transactions的值取决于对应GUC参数的设置,AUXILIARY_BACKENDS为预留辅助线程数固定为20,AV_LAUNCHER_PROCS为预留autovacuum的launcher线程数固定为2,min(max(newValue/4,64),1024)公式中newValue为新设置的值。

在不同实例的内存规格下,强制该参数取值范围如下:

表1 独立部署模式下,不同实例的内存规格的参数取值范围

内存规格

CN参数取值范围

DN参数取值范围

< 32GB

[10, 100]

[10, 100]

[32GB, 64GB)

[10, 200]

[10, 200]

[64GB, 128GB)

[10, 1000]

[10, 2500]

[128GB, 256GB)

[10, 2000]

[10, 6000]

[256GB, 480GB)

[10, 4000]

[10, 12000]

>= 480GB

[10, 8000]

[10, 24000]

表2 金融版(标准型)模式下,不同实例的内存规格的参数取值范围

内存规格

CN参数取值范围

DN参数取值范围

< 64GB

[10, 100]

[10, 100]

[64GB, 128GB)

[10, 200]

[10, 1000]

[128GB, 256GB)

[10, 500]

[10, 2000]

[256GB, 480GB)

[10, 1000]

[10, 4000]

[480GB, 512GB)

[10, 2250]

[10, 9000]

[512GB, 576GB)

[10, 2500]

[10, 11000]

[576GB, 640GB)

[10, 3000]

[10, 12000]

[640GB, 768GB)

[10, 3500]

[10, 14000]

[768GB, 1024GB)

[10, 4000]

[10, 16000]

[1024GB, 1536GB)

[10, 6000]

[10, 21000]

>= 1536GB

[10, 10000]

[10, 33000]

表3 企业版模式下,不同实例的内存规格的参数取值范围

内存规格

CN参数取值范围

DN参数取值范围

< 64GB

[10, 100]

[10, 100]

[64GB, 128GB)

[10, 200]

[10, 900]

[128GB, 256GB)

[10, 350]

[10, 1500]

[256GB, 480GB)

[10, 900]

[10, 3500]

[480GB, 512GB)

[10, 1800]

[10, 7000]

[512GB, 576GB)

[10, 2000]

[10, 7500]

[576GB, 640GB)

[10, 2000]

[10, 8500]

[640GB, 768GB)

[10, 2500]

[10, 10000]

[768GB, 1024GB)

[10, 3000]

[10, 11000]

[1024GB, 1536GB)

[10, 4000]

[10, 15000]

>= 1536GB

[10, 7500]

[10, 24000]

表4 金融版(数据计算型)模式下,不同实例的内存规格的参数取值范围

内存规格

CN参数取值范围

DN参数取值范围

< 256GB

[10, 100]

[10, 100]

[256GB, 512GB)

[10, 200]

[10, 1000]

[512GB, 576GB)

[10, 500]

[10, 4000]

[576GB, 768GB)

[10, 1000]

[10, 5000]

[768GB, 1024GB)

[10, 2500]

[10, 8000]

[1024GB, 1536GB)

[10, 4000]

[10, 12000]

>= 1536GB

[10, 5000]

[10, 18000]

默认值:

  • 独立部署:

    CN:8000(60核CPU/480G内存);4000(32核CPU/256G内存);2000(16核CPU/128G内存);1000(8核CPU/64G内存);100(4核CPU/32G内存,4核CPU/16G内存)

    DN:24000(60核CPU/480G内存);12000(32核CPU/256G内存);6000(16核CPU/128G内存);2500(8核CPU/64G内存);100(4核CPU/32G内存,4核CPU/16G内存)

  • 金融版(标准型):

    CN:10000(196核CPU/1536G内存);6000(128核CPU/1024G内存,104核CPU/1024G内存,96核CPU/1024G内存);4000(96核CPU/768G内存);3500(80核CPU/640G内存);3000(72核CPU/576G内存);2500(64核CPU/512G内存);2250(60核CPU/480G内存);1000(32核CPU/256G内存);500(16核CPU/128G内存);200(8核CPU/64G内存)

    DN:33000(196核CPU/1536G内存);21000(128核CPU/1024G内存,104核CPU/1024G内存,96核CPU/1024G内存);16000(96核CPU/768G内存);14000(80核CPU/640G内存);12000(72核CPU/576G内存);11000(64核CPU/512G内存);9000(60核CPU/480G内存);4000(32核CPU/256G内存);2000(16核CPU/128G内存);1000(8核CPU/64G内存)

  • 企业版:

    CN:7500(196核CPU/1536G内存);4000(128核CPU/1024G内存,104核CPU/1024G内存,96核CPU/1024G内存);3000(96核CPU/768G内存);2500(80核CPU/640G内存);2000(80核CPU/512G内存,72核CPU/576G内存,64核CPU/512G内存);1800(60核CPU/480G内存);900(32核CPU/256G内存);350(16核CPU/128G内存);200(8核CPU/64G内存)

    DN:24000(196核CPU/1536G内存);15000(128核CPU/1024G内存,104核CPU/1024G内存,96核CPU/1024G内存);11000(96核CPU/768G内存);10000(80核CPU/640G内存);8500(72核CPU/576G内存);7500(80核CPU/512G内存,64核CPU/512G内存);7000(60核CPU/480G内存);3500(32核CPU/256G内存);1500(16核CPU/128G内存);900(8核CPU/64G内存)

  • 金融版(数据计算型):

    CN:5000(196核CPU/1536G内存);4000(128核CPU/1024G内存);2500(96核CPU/768G内存);1000(72核CPU/576G内存);500(64核CPU/512G内存);200(32核CPU/256G内存)

    DN:18000(196核CPU/1536G内存);12000(128核CPU/1024G内存);8000(96核CPU/768G内存);5000(72核CPU/576G内存);4000(64核CPU/512G内存);1000(32核CPU/256G内存)

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

设置建议:数据库主节点中此参数建议保持默认值。该参数调小会导致实际可用连接数变小,若要更改,请在理解参数含义后谨慎操作,避免因误操作产生意料之外的风险。

设置不当的风险与影响:

  • 若配置max_connections过大,超过计算公式所描述的最大动态值,会出现CN、DN拉起失败问题,报错提示“invalid value for parameter "max_connections"”;或在拉起时申请内存失败,报错提示“Cannot allocate memory”;
  • 若未按照对外出口规格配置仅调大max_connections参数值,未同比例调整内存参数。业务压力大时,容易出现内存不足,报错提示“memory is temporarily unavailable”;
  • 混合部署场景下,若CN的max_connections参数值大于(DN的max_connections/CN个数)时,客户端总压力超过DN端max_connections值时,可能会出现CN节点连接DN失败情况,报错提示“pooler... Too many clients already”。
  • 对于管理员用户的连接数限制会略超过max_connections设置,目的是为了让管理员在连接被普通用户占满后仍可以连接上数据库,再超过一定范围(sysadmin_reserved_connections参数)后才会报错。即管理员用户的最大连接数等于max_connections + sysadmin_reserved_connections。
  • 对于普通用户来说,由于内部作业也会使用一些连接,因此会略小于max_connections,具体值取决于内部连接个数。
  • 开启线程池后,stream线程数的上限为max_connections设置值。若stream线程数量达到上限时,将产生“Exceed stream thread pool limitation...”报错,此时可以通过调整max_connections参数值将stream线程数上限调高。由于该参数属于POSTMASTER类型,故设置时可以综合业务情况进行合理预估:stream线程数总数 = 业务并发数 * 每一个并发执行的语句所消耗的stream线程数量(可通过执行计划查看)。

max_inner_tool_connections

参数说明:允许和数据库连接的工具的最大并发连接数。此参数会影响GaussDB的工具连接并发能力。

参数类型:整型

参数单位:

取值范围:最小值为1,最大值的计算公式为“262143 - job_queue_processes - autovacuum_max_workers - max_connections - max_concurrent_autonomous_transactions - AUXILIARY_BACKENDS - AV_LAUNCHER_PROCS - min(max(max_connections/4,64),1024)”,job_queue_processesautovacuum_max_workersmax_connectionsmax_concurrent_autonomous_transactions的值取决于对应GUC参数的设置,AUXILIARY_BACKENDS为预留辅助线程数固定为20,AV_LAUNCHER_PROCS为预留autovacuum的launcher线程数固定为2。

默认值:50。如果该默认值超过内核支持的最大值(在执行gs_initdb的时候判断),系统会提示错误。

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

设置建议:数据库主节点中此参数建议保持默认值。

设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。

sysadmin_reserved_connections

参数说明:为管理员用户预留的最少连接数,不建议设置过大。该参数和max_connections参数配合使用,管理员用户的最大连接数等于max_connections + sysadmin_reserved_connections。

  • 当启用线程池功能时,若线程池占满将形成处理瓶颈,导致管理员预留连接无法正常建立;作为逃生手段,此时可使用gsql通过主端口+1端口号连入,清理无用会话,即可正常连入。
  • 当管理员预留连接数全部被使用后,新建连接将失败,此时只能通过重启集群来恢复,所以需要谨慎使用该预留连接数。

参数类型:整型

参数单位:

取值范围:最小值为0,最大值为MIN(262143, max_connections),max_connections的计算方法见max_connections

默认值:3

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

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

设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。

service_reserved_connections

参数说明:为后台运维用户(带有persistence属性)预留的最少连接数,不建议设置过大。该参数和max_connections参数配合使用,运维用户的最大连接数等于max_connections + service_reserved_connections。

参数类型:整型

参数单位:

取值范围:0 ~ 262143

默认值:10

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

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

设置不当的风险与影响:如果设置过小,会导致在max_connections占满的情况下,运维用户(带有persistence属性)无法连接数据库,作业无法正常执行。如果设置过大,则会有过多的空闲资源。

extip_reserved_connections

参数说明:为用户在listen_address_ext配置的扩展IP上进行的普通gsql业务连接预留的最少连接数。该参数和max_connections参数配合使用,对应业务连接的最大连接数等于max_connections + service_reserved_connections。

该参数仅在为分布式DN配置了listen_address_ext的具体IP地址时有效。

参数类型:整型

参数单位:

取值范围:整型,最小值为0,最大值为MIN(262143, max_connections),max_connections的计算方法见max_connections

默认值: 5

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

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

设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。

unix_socket_directory

参数说明:设置GaussDB服务器侦听客户端连接的Unix域套接字目录,仅sysadmin用户可以访问。

参数类型:字符串

参数单位:

取值范围:合法目录路径。

该参数的取值长度限制于操作系统的最大目录路径长度,Linux系统下,套接字路径名(套接字目录与套接字文件名拼接而成)长度不得超过107bytes,目录最长不得超过92bytes。超过该限制将会导致Unix-domain socket path "xxx" is too long的问题。

默认值:""(实际值由安装时配置文件中tmpMppdbPath指定)

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

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

设置不当的风险与影响:若误设置出错(包括长度超过限制、非法目录等),会影响进程正常拉起,可以通过检索cm_agent路径下system_call日志定界。

unix_socket_group

参数说明:设置Unix域套接字的所属组(套接字的所属用户总是启动服务器的用户)。可以与选项unix_socket_permissions一起用于对套接字进行访问控制。

参数类型:字符串

参数单位:

取值范围:系统中已有的用户组。

默认值:"",表示当前用户的缺省组。

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

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

设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。

unix_socket_permissions

参数说明:设置Unix域套接字的访问权限。

Unix域套接字使用普通的Unix文件系统权限集。这个参数的值应该是数值的格式(chmod和umask命令可接受的格式)。如果使用自定义的八进制格式,数字必须以0开头。

参数类型:整型

参数单位:

取值范围:0000 ~ 0777

在Linux中,文档具有十个属性,其中第一个属性为文档类型,后面九个为权限属性,分别为Owner,Group及Others这三个组别的read、write、execute属性。

文档的权限属性分别简写为r,w,x,这九个属性三个为一组,也可以使用数字来表示文档的权限,对照表如下:

r:4

w: 2

x:1

-:0

同一组(owner/group/others)的三个属性是累加的。

例如,-rwxrwx---表示这个文档的权限为:

owner = rwx = 4+2+1 = 7

group = rwx = 4+2+1 = 7

others = --- = 0+0+0 = 0

所以其权限为0770。

默认值:0700

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

设置建议:建议设置为0770(只有当前连接数据库的用户和同组的人可以访问)或者0700(只有当前连接数据库的用户自己可以访问,同组或者其他人都没有权限)。

设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。

application_name

参数说明:当前连接请求当中,所使用的客户端名称。

参数类型:字符串

参数单位:

取值范围:合法的客户端名称,实际查询结果取决于查询所用的客户端或用户设置。

在备机请求主机进行日志复制时,如果该参数非空串,那么会被用来作为备机在主机上的流复制槽名字。此时,如果该参数长度超过61个字节,那么流复制槽名字只会截取使用前61个字节的字符。

默认值:""(连接到后端的应用名,以实际安装为准)。

设置方式:该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。但是需要注意的是,客户端连接后该参数会被设为客户端名称,且设置为客户端级别,所以只有设置会话级别的参数会生效,其他方式都由于级别低于客户端级别而不会生效。

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

设置不当的风险与影响:数据库依赖于application_name标识部分内部进程,当用户设置了与内部进程同名的application_name时,可能产生非预期的行为。

connection_info

参数说明:连接数据库的驱动类型、驱动版本号、当前驱动的部署路径和进程属主用户。

参数类型:字符串

参数单位:

取值范围:字符串

默认值:"",表示当前连接数据库的驱动不支持自动设置connection_info参数或应用程序未设置

驱动连接数据库的时候自行拼接的connection_info参数格式如下:
1
{"driver_name":"ODBC","driver_version": "(GaussDB XXX.XXX.XXX build 290d125f) compiled at 2020-05-08 02:59:43 commit 2143 last mr 131 release","driver_path":"/usr/local/lib/gsqlodbcw.so","os_user":"omm"}

默认显示driver_name和driver_version,driver_path和os_user的显示由用户控制(参见《开发指南》中“应用程序开发教程 > 基于JDBC开发 > 连接数据库”章节和《开发指南》中“应用程序开发教程 > 基于ODBC开发 > Linux下配置数据源”章节)。

设置方式:该参数属于USERSET类型参数,属于运维类参数,不建议用户设置。

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

设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。

backend_version

参数说明:用于CN和CN,CN和DN建立连接时同步连接的版本号,该参数涉及版本号,用户不可以随意设置

参数类型:整型

参数单位:

取值范围:0 ~ 100000

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

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

设置不当的风险与影响:若设置出错,会导致不同节点之间版本号不一致。

check_disconnect_query

参数说明:该参数控制的是,当客户端异常断连(如JDBC触发socketTimeout、libpq触发rwtimeout且关闭连接、运行业务过程中客户端进程终止等)后,GaussDB服务端语句是否终止执行。

参数类型:布尔型

参数单位:

取值范围:

  • on:表示当客户端异常断连后,GaussDB服务端终止运行对应的语句。
  • off:表示当客户端异常断连后,GaussDB服务端不会终止运行对应的语句。

默认值:on

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

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

设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。

GaussDB 信号机制设计为:接收到信号后仅将对应的中断位置标记为true,待继续执行到中断函数时,才真正进行处理。故当系统资源遇到瓶颈(CPU满、内存不足、磁盘I/O满负载、网络问题导致网卡收发缓冲区满)时,从接收到信号到真正进行处理可能会卡顿,导致该部分耗时增加。

connection_reject_nodes

参数说明:用于表示CN/DN中拒绝接受其他CN连接的黑名单,用逗号进行分隔,例如'cn_5001,cn_5002'。当黑名单中的CN(如cn_5001)连接至本节点时,会拒绝接受其连接,并报错“Reject cn_5001 connection”。

参数类型:字符串

参数单位:

取值范围:由若干个节点名称和英文逗号组成的字符串。

默认值:""

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

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

设置不当的风险与影响:当设置为节点名时,其他节点会拒接接受其连接,造成连接报错。

相关文档