素材牛VIP会员
GreenPlum面对200并发查询时性能比较差,是配置问题还是使用场景不是GP的优势?
 真***名  分类:SQL代码  人气:1070  回帖:1  发布于6年前 收藏

大家好,我是GreenPlum小白,刚刚接触1个月,有一些疑惑的地方请教大家。
1.GP集群环境
版本:4.3.11.0
OS:CentOS 6.5
硬件配置:所有节点都是1Gb网卡,32核,32GB内存
集群组成:1master,1standby master,20*segment(每个segment节点一个primary,一个mirror)

2.配置情况
队列:active_statement=240, memory_limit=24G, stat_mem=100MB,shared_buffers=500MB,gp_resqueue_priority_cpucores_per_segment=30

3.测试情况
1个select查询返回结果需要5ms,40个select查询并发需要500ms左右,200个查询并发需要3s
mysql单机做同样测试200个并发查询,只需要1-2s。
发现只有master节点CPU使用率偏高,IO,内存使用率,网络带宽都没有太大压力
测试指令:
select provider_code,

     brand_code,
     item_third_cate_cd,
     dt,
     days,
     item_sku_id,
     device_type

FROM XXXXXXXXX
WHERE dt between '2017-02-01 00:00:00.0' and '2017-03-07 00:00:00.0' and provider_code='xxxxxx'
AND brand_code=32491
AND item_third_cate_cd=7052
AND days=7
AND item_sku_id=-2
AND device_type=1
AND division_id ='1725'
GROUP BY provider_code,

     brand_code,
     item_third_cate_cd,
     dt,
     days,
     item_sku_id,
     device_type;

4.问题:
为什么20个节点的GreenPlum做查询性能还不如一个节点mysql?
面对高并发master节点会不会成为瓶颈?

讨论这个帖子(1)垃圾回帖将一律封号处理……

Lv6 码匠
wt***00 UI设计师 6年前#1

泻药

查询结果又多大?

从你的硬件配置上看,一个主机的网络是一个千兆网卡,吞吐大概只有100MB 左右。Greenplum 的查询结果最终都需要通过网络,传送给 Master 节点,如果结果集比较大,Master 节点的网络吞吐会成为瓶颈,影响查询性能。

另外,你的 SQL 我没看懂,为啥要加 Group By?

 文明上网,理性发言!   😉 阿里云幸运券,戳我领取