参数说明:控制是否使用线程池功能。该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。
取值范围:布尔型
默认值:off
参数说明:用于控制线程池功能的详细属性,该参数仅在enable_thread_pool打开后生效。该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。
取值范围:字符串,长度大于0
该参数分为3个部分,'thread_num、 group_num、 cpubind_info',这3个部分的具体含义如下:
thread_num:线程池中的线程总数,取值范围是0~4096。其中0的含义是数据库根据系统CPU core的数量来自动配置线程池的线程数,如果参数值大于0,线程池中的线程数等于thread_num。线程池大小推荐根据硬件配置设置,计算公式为thread_num=CPU核数*3~5,thread_num最大值4096。
group_num:线程池中的线程分组个数,取值范围是0~64。其中0的含义是数据库根据系统NUMA组的个数来自动配置线程池的线程分组个数,如果参数值大于0,线程池中的线程组个数等于group_num。
cpubind_info:线程池是否绑核的配置参数。可选择的配置方式有:
默认值:'16, 2, (nobind)'
参数说明:用于控制线程池过载逃生的堆积会话数占比。该参数仅在GUC参数use_workload_manager和enable_thread_pool打开时生效。该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。
取值范围:字符串,长度大于0
该参数分为recover_threadpool_percent、overload_threadpool_percent 2部分,这2个部分的具体含义如下:
默认值:'0,0',表示关闭线程池逃生功能。
示例:
resilience_threadpool_reject_cond = '100,200'
表示已经堆积的会话数超过线程池初始设置的线程数的200%后禁止新连接接入并kill堆积的会话,kill会话过程中会话数恢复到线程池初始设置的线程数的100%以下时停止kill会话并允许新连接接入。
须知:
- 已经堆积的会话数可以通过查询pg_stat_activity视图有多少条数据获得,需要过滤少量后台线程;线程池设置的初试线程池线程数目可以通过查询thread_pool_attr参数获得。
- 该参数如果设置的百分比过小,则会频繁触发线程池过载逃生流程,会使正在执行的会话被强制退出,新连接短时间接入失败,需要根据实际线程池使用情况慎重设置。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。