GBase 8a常用并行度参数调整提升性能

说明

线程池并行度参数在采用默认值的情况下,可能会因服务的线程池较小而单个 SQL任务的并行度太高,造成并发场景下后发起的任务无法获得充足的线程池而单线程执行。严重情况下,会造成较多的 sys cpu 占用。可以根据实际情况适当调整。

gcluser_max_thread_in_pool

参数含义为集群层连接集群内各节点 gnode 的连接池中连接线程的数量,即全局连接线程池大小,默认设置为 600。

全局线程池使用较少,主要逻辑都走异步 API,通常保持默认值即可。

当集群规模较大、SQL 并发任务较多时,如发现连接池的线程数消耗越高,此时需要调整 gcluser_max_thread_in_pool 参数,通常建议不超过 2000。取值过大也会造成性能问题。

gbase_parallel_degree

用于配置单个 SQL 执行时的并行度大小,默认取值为 0,推荐配置为 4~8。值为 0 时,单 sql 任务的并行度使用 CPU 核数的一半。当值大于线程池数量时,则使用线程池数量。

如:gbase_parallel_degree=0,CPU 核数为 32,那么单 sql 的并行度则为 16。

gbase_loader_parallel_degree

每个加载任务需要多少线程执行,gbase_loader_parallel_degree 参数用于配置单个加载任务在 gnode 上的并行度大小,默认取值为 0,即使用 CPU 核数的一半。推荐配置为 4~8。

值为 0,则使用 CPU 核数一半,当值大于线程池数量时,则使用线程池数量。

gbase_parallel_max_thread_in_pool

指线程池中的线程总数,用于配置线程池大小,默认为 CPU 核数的 2 倍,在每个服务器上部署 1 个 gnode 节点的情况下推荐该配置为 CPU 核数的 4~8 倍。

每个任务从线程池中获取线程并执行,当线程池中空闲线程不够时,会新创建 1 个线程用于执行(内部串行)串行执行。

thread_pool_size

表示用于接收客户端连接的线程池个数,影响吞吐量。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值