GBase 8a
运维管理
文章
物化参数gbase_parallel_threshold调整解决导出小量数据缓慢问题
发表于2024-03-30 11:49:0641次浏览0个评论
某项目上客户反馈SQL导出最终结果约9000条数据时,需要耗时特别多,同时提出提出疑问:
集群的gbase_parallel_degree=6,但是nmon表现出就一个CPU执行,怎么理解这个并行度?这个是不是没有用上并行?
trace日志中,看统计那步好像是6个并发,但是物化这8097条 是否没用到并发了?
排查查看trace发现物化阶段单线程执行,再查看gbase_parallel_threshold参数被设置为100000,于是调整
set global gbase_parallel_threshold=1000;后性能提升明显。
参数的解释如下:
gbase_parallel_threshold 取值:大于 0(含 0)的整数 默认值:10000 说明:计算并行度使用的参数,限制启用并行的最少行数。当 scan 涉及的数据行 数<=参数 gbase_parallel_threshold 时,不走并行。 如果 sql 在结果集物化阶段为串行且花费时间占比较大,则可以调小该配置,如配 置为 500 或更小。 对于高并发精确查询场景下,建议设置该参数取值大于 90%的结果集行数,避免多 线程并行导致 CPU 资源争抢严重而出现 sys cpu 占用。 修改方式:可使用 set 语句修改值也可在配置文件中修改值。适用于 session、global 范围均可。
评论
登录后才可以发表评论
热门帖子
- 12025-12-01浏览数:182765
- 22023-05-09浏览数:25067
- 42023-09-25浏览数:18527
- 52020-05-11浏览数:17529