测试Vertica性能

软件:

Vertica 6.0.0-4

OS: Red Hat EnterpriseLinux Server release 6.0(x86-64)

Filesystem: ext4

 

三台服务器参数:

cpu :

4P*8CIntel(R) Xeon(R) CPU E7- 8837  @ 2.67GHz

4P*8CIntel(R) Xeon(R) CPU E7- 4820  @ 2.00GHz

4P*8CIntel(R) Xeon(R) CPU E7- 4820  @ 2.00GHz

 

Memory:

128GB

128GB

128GB

 

Disk:

IBM ServeRAID M5015  Rev: 2.13 600GB

IBM ServeRAID M5015  Rev: 2.13 600GB

IBM ServeRAID M5015  Rev: 2.13 600GB

 

网卡:

100Mb/s

100Mb/s

100Mb/s

测试Vertica三节点集群测试,与两节点集群进行比较如下:

 

步骤  测试项  Vertica (两节点集群)  Oracle(单节点)  Vertica (三节点集群百兆)  Vertica (三节点集群千兆)
1 数据加载(31亿,两节点情况下单点加载,三节点情况下是每个节点并行4个进程加载,Oracle是单节点光纤加载)  5小时13分26秒  4小时22分50秒  2小时12分31秒  17分03秒 
2 两表关联非分布键(31亿+21万)  6小时22分35秒  11小时19分44秒  1小时58分30秒 2小时3分6秒
3 两表关联分布键(31亿+3千万)  2小时56分35秒  6小时13分48秒  2小时31分17秒 
4 两表关联汇总非分布键(31亿+174)  649s  2小时16分10秒  729s  386s 
5 四表关联非分布键(3千万+16万+16万+5万)  136s  96s  99s 
6 四表关联非分布键(3千万+4+7+174)  202s  44s  46s 
7 单表汇总(6千万)  109s  113s 
8 四表关联非分布键(3千万+16万+2百万+5万)  184s  522s  357s 
总计耗时  53527s  64724s  38989s  18487s 

 

测试主要步骤比对说明:

1、  数据加载:

3节点的Vertica集群在加载过程中,是多个节点并行加载,并且在每个节点上开启了4进程并行加载,改造成千兆网络后,网络传输的瓶颈解决,效率大大提升;两节点的Vertica集群是单节点加载,并且通过百兆网络传输分布数据,效率不如oracle单机通过光纤连接磁阵直接加载。

 

2、  两表关联非分布键(31亿+21万)

3节点的Vertica集群,将临时表建立成temporary方式,并且ksafe设置为0,不需要进行节点间数据备份,从而避免了数据的重分布,所以效率提升

 

3、  两表关联分布键(31亿+3千万)

3节点的Vertica集群,在百兆网络情况下由于目标表被设置为ksafe 1,需要进行数据备份,300G的数据需要通过百兆带宽进行传输重分布,所以导致效率大幅度下降,改造成千兆网络后,问题解决

 

Vertica集群(3节点)主要参数设置

Ksafe:1

maxmemorysize :Special: 95%

executionparallelism :  AUTO

Runtimeprioritythreshold : 2

plannedconcurrency      : 4

 

结果分析:

文件加载入库

Vertica文件加载本质都是通过copy实现,可以通过多节点并行加载,以及在每台节点上开启多进程提升效率。通过将带宽从100Mb/s提升为1000Mb/s 后,加载速度提升一个数量级。

数据分布

插入目标表的过程中,需要检查目标表和源表的分布键字段类型,如果存在字段类型不一致或者字段长度不同(主要指CHAR),都会导致数据重分布,极大影响性能。

多表关联

Vertica多表关联的关联字段,如果设置成为orderby字段,则在关联匹配的过程中使用merge join方式,比默认的hash join方式效率提升很多。

单表汇总

vertica单表汇总是在各自的节点上运算,然后再把结果进行汇总,所以效率比单台节点的oracle高。

建表优化

vertica 提供DBD工具对建表语句、字段压缩方式、分布键、order字段进行优化,但是经过实际使用,分布键的设置和order字段的优化建议往往不准,还需要根据实际的关联语句以及经验进行设置。

数据压缩

vertica数据压缩是根据列式压缩,如果表中存在重复值的字段较多,则压缩比高,比如按地市、微区域等列举小区名称的表,压缩比能够达到1:5,但是对于用户流量信息,由于用户号码和流量的值很少出现重复,所以压缩比很低。压缩比还受到ksafe的影响,ksafe设置为1的情况下,数据会复制一份,容量增加一倍。

 

你可能感兴趣的:(测试Vertica性能)