CentOS 7.5 Greenplum cluster测试报告
- 硬件环境
- 虚拟机配置:
4台CentOS 7.5 虚拟机 内存 8G 存储 150G 单核
- Greenplum及postgresql版本
Grenplum 6.0.0 postgresql 9.1
- 节点配置
一个master(主节点),六个segment(子节点)
- 数据信息
使用程序生成2008年1月1日至2018年1月1日的10分钟数据,测试数据包括20个观测站点,每个观测点100个观测变量,10年共计1051200000条数据,大小约40G。数据分布如下:
- 集群查询测试
2.1 远程测试
在远程pgAdmin客户端测试greenplum 集群
2.1.1查询一个站点一年的数据,数据大小约200M,共5241500条数据:
测试语句:select * from tbl_value where fld_time > '2009-01-01' and fld_time < '2009-12-31' and fld_site_id =4;
用时:207536 ms
2.1.2查询一个站点一个月的数据,数据大小约16.5M,共431900条数据:
测试语句:select * from tbl_value where fld_time > '2009-01-01' and fld_time < '2009-01-31' and fld_site_id =4;
用时:17966 ms
2.1.3查询一个站点一天的数据,数据大小约0.55M,共14300条数据:
测试语句:select * from tbl_value where fld_time > '2009-01-01' and fld_time < '2009-01-02' and fld_site_id =4;
用时:1179 ms
2.1.3查询一条数据:
测试语句:select * from tbl_value where fld_time = '2009-01-01 00:00:00' and fld_site_id =4 and fld_variable_id = 1;
用时:742 ms
2.2 在greenplum的master节点测试
用上面同样的sql语句在master节点测试,结果如下:
2.2.1查询一个站点一年的数据,数据大小约200M,共5241500条数据:
用时:12286.864 ms
2.2.2查询一个站点一个月的数据,数据大小约16.5M,共431900条数据:
用时:1032.934 ms
2.2.3查询一个站点一天的数据,数据大小约0.55M,共14300条数据:
用时:797.956 ms
2.2.3查询一条数据:
用时:555.226 ms
2.3 已分库分表数据库测试
在数据库进行本地和远程查询测试,测试数据库为observation20122013,查询站点ID为385的2012-02-01到2013-02-01数据,测试情况如下:
2.3.1 查询一年数据,共计5737294 行:
本地用时:381372 ms 远程用时:392760 ms
2.3.2 查询一个月数据,共计1176128 行:
本地用时:59391 ms 远程用时:73853 ms
2.3.3 查询一天数据,共计51136 行:
本地用时:3541 ms 远程用时:4268 ms
2.3.4 查询一条数据:
本地用时:848 ms 远程用时:956 ms
- 结果统计
数据库 |
连接方式 |
一年数据 |
一月数据 |
一天数据 |
一条数据 |
Greenplum Cluster |
远程客户端 |
207536 ms |
17966 ms |
1179 ms |
742 ms |
Master本地 |
12286.864 ms |
1032.934 ms |
797.956 ms |
555.226 ms |
|
数据库 (分库分表) |
远程客户端 |
392760 ms |
73853 ms |
4268 ms |
956 ms |
服务器本地 |
381372 ms |
59391 ms |
3541 ms |
848 ms |
- 单机测试
|
一年数据 |
一月数据 |
一天数据 |
一条数据 |
单机PGSQL (未分库分表) |
471028.008 ms |
433695.222 ms |
439707.892 ms |
391964.797 ms |
- 硬件说明
在查询过程中对master和segment的CPU使用情况进行监控,发现在使用select * from 语句时master的单核CPU占用比较大,使用率会达到92%,segment总的CPU使用率会达到70%。
(a)执行select*语句时segment的CPU使用情况
(b)执行select*语句时master的CPU使用情况
六、 结论
Greenplum集群在数据查询时优势明显,在本地查询一年数据时,查询效率约为已分库分表数据库的32倍,查询一个月数据效率约为已分库分表数据库的59倍,同时远程查询效率提升明显。实际情况下,数据体量越大,集群优势越明显,查询效率越高。
欢迎提出相关问题!