博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
AntDB3.1新增几个性能参数的使用和效果
阅读量:5838 次
发布时间:2019-06-18

本文共 1503 字,大约阅读时间需要 5 分钟。

hot3.png

AntDB3.1版本与2.2版本相比,性能上做了很大改善

1、支持并行计算(继承Postgres9.6新增并行功能);

2、优化执行计划,将计算尽量下放到datanode上,然后在coordinator上汇总,而不是如2.2那样,将数据上拉到coordinator上计算;

3、支持datanode之间,datanode和coordinator之间数据reduce,当要查询的数据分布不平衡时,将数据reduce到一个节点上计算,最大限度提高查询效率。

 

下面是和提高性能相关的重要参数。下面将举例说明参数的使用。

enable_cluster_plan

3.1与2.2相比,在性能上做了很多优化。打开此开关,会走3.1的执行计划,会大幅提高性能。

下面的同样的查询语句在打开开关和关闭开关的情况下,执行计划不同,打开开关后,查询时间大大缩短。

pgxc_enable_remote_query = off

打开开关:

关闭开关:

max_parallel_workers_per_gather

这个参数决定了每个gather最多允许启用多少个work process

max_worker_processes

这个参数决定了每个节点在同一时间允许启动多少个work process。

这两个参数共同决定在datanode和coordinator上启动多少个worker,worker数量决定

另外,执行计划是在coordinator上生成的,建议在coordinator和datanode上参数设置一样,否则,datanode上的最终值是二者较小值。

 

下面举例说明这两个参数配置对执行计划和效率的影响。

 

postgres=# create table aa(a1 int, a2 int);

CREATE TABLE

postgres=# copy aa from '/home/mass/data/big_ranint_int_10million.sql' with delimiter as ',';

COPY 10000000

postgres=# analyze aa;

ANALYZE

postgres=# explain(verbose, analyze) select count(*) from aa;

下面开始通过设置参数来控制worker的数量,来测试查询效率随worker和datanode数量的关系。

max_parallel_workers_per_gather =2

max_worker_processes = 3

最终启动2个worker

2个datanode:

3个datanode:

4个datanode:

max_parallel_workers_per_gather =4

max_worker_processes = 3

最终启动3个worker

 

2个datanode:

3个datanode:

4个datanode:

max_parallel_workers_per_gather =4

max_worker_processes =4

最终启动4个workers

2个datanode:

3个datanode:

4个datanode:

从下图可见,随着datanode的增加,worker数的增加,查询时间越来越少

 

参考:

QQ交流群:496464280

源码地址:http://github.com/ADBSQL 

欢迎广大postgresql爱好者使用和交流。

 

转载于:https://my.oschina.net/u/3771732/blog/1627271

你可能感兴趣的文章
虚拟运营商10月或大面积放号 哭穷背后仍有赢家
查看>>
Server2016开发环境配置
查看>>
分布式光伏发电建设中的逆变器及其选型
查看>>
增强网络安全防御 推动物联网走向应用
查看>>
UML中关联,组合与聚合等关系的辨析
查看>>
《大数据管理概论》一3.2 大数据存储与管理方法
查看>>
PowerBuilder开发简单计算器
查看>>
怎样使用linux的iptables工具进行网络共享
查看>>
《HTML5与CSS3实战指南》——导读
查看>>
RHEL6下安装oracle 10g(一)
查看>>
Kconfig的格式
查看>>
关于Cursor的moveToFirst和moveToNext的意义
查看>>
个人--工资划分5份
查看>>
有关文件下载的文件名
查看>>
史上最详细的wamp配置虚拟域名步骤
查看>>
oracle 授权
查看>>
lv扩展磁盘空间
查看>>
java8之stream流的基本操作
查看>>
二维数组计算协方差java
查看>>
SpringBoot下Redis相关配置是如何被初始化的
查看>>