POC测试总结

一、       测试内容

测试内容

测试目的

其他

功能测试

验证产品的自动部署安装、集成统一管理、运维监控功能是否完善、对SQL的支持能力(SQL-标准、事务支持能力、索引、存储过程、UDF),混合负载管理能力

存储特性及多重分区能力

组件测试

验证产品的数据压缩存储特性、多种计算接口支持、对异构数据库支持、数据挖掘能力

压缩对性能的影响

性能测试

测试产品的单查询性能和并发查询能力、验证产品的索引特性及大批量数据更新能力、删除能力、数据导出能力

索引特性

大批量数据更新删除能力

可靠性能

验证集群不同组件的高可用、备份、恢复能力


安全测试

验证产品的安全权限管理


扩展性测试

产品节点置换、扩展能力及对性能的影响


 

本次选取了有代表性的几个产品进行比对,记录测试时间和测试结果,并对结果和出现的问题进行一定的分析。因篇幅限制,本文只介绍SQL引擎性能有关的测试,其他内容下次介绍。另外个别产品比如IBMBigSql测试结果没有一一列出,只在文中有少量提及。

二、       测试流程

1.      准备工作

环境分配、搭建、检查

测试案例设计、评审

自动化脚本编写调试

评审脚本,确定开始时间

修改密码、启动机器

2.      执行过程

清库、建库、加载种子数据、翻数、运行核数脚本

单查询

并发查询

逐条导入

导出测试

组件测试(压缩、多租户、接口支持),扩展性测试、可靠性测试、安全测试、TPC-DS测试

三、       测试环境

1.      测试环境及工具

机器节点

操作系统

节点数

磁盘

内存

CPU

RAID策略

DB节点

Red   Hat 6.6

18

SATA2T/*10/节点

256G/节点

24

2.6GHZ

系统盘:RAID 1

600G*2

数据盘:JBOD

ETL节点

3

SAS 1.2T/*16/节点

采用nmon监控工具

 

2.      种子数据及翻数说明

种子数据10张表,一天527G数据,造数要求:

1)  独立证券数:1万只(现有基础放大4~5倍)

2)  会员数:1000

3)  交易单元数:10万个

4)  营业部个数:10万个

5)  投资者账户数:10亿个

6)  委托成交独立账户数:委托独立账户1亿,成交独立账户7千万

7)  持股记录独立账户数:2亿个

种子数据表和翻数说明

序号

表名

中文名

数据量

种子文件大小

翻数说明

1

DWCJK

成交库

11亿/

128G

310

2

DWWTK

委托库

13亿/

145G

310

3

TSQUOTAT

逐笔行情

2亿/

57G

310

4

WWTNISHC

二级股份持有及变更

4亿/

24G

310

5

DWZQXX

证券信息库

1

3M


6

SWTNIALK

投资者当前概要表

10亿

145G


7

WWTNBRCH

营业部资料表

10

19M


8

WWTNMMBR

会员资料表

1000

0.5M


9

WWTNSEAT

席位资料表

10

15M


10

SWTNBCSA

营业部客户托管单元当前信息表

7亿

29G


翻数规则,略;数据日期从2015-05-01开始

查询参数:Python脚本随机生成

1、  日期:查询时间跨度+随机日期

2、  证券:数量最多的100只证券中随机选

3、  查询时间:

**)单查询:开始时间:9150000,结束时间:15300000

**)并发查询:开始时间:9300000+随机数,结束时间:1500000-随机数

四、       测试案例

1.      性能测试案例

案例编号

类别

查询范围

特征

返回数量级

备注

tc000

加载及翻数

-

-

-


tc001

简单查询

1

单表(成交库)查询、排序

万级


tc002

简单查询

1个月

多个单表(成交、委托、证券信息)分别查询并汇总,取交集,不排序

个位


tc003

中等查询

1季度

两张表(大表:成交库,小表:当前投资者概要)关联后,分组统计并排序

十万级


tc004

中等查询

1

大表分组统计,取并集,再和其他小表做关联,不排序

万级


tc005

复杂查询

1个月

多表关联(含两个大表:成交库,二级股份持有及变更),分组统计,关联数量级大

万级


tc006

业务查询1

1个月

考察with语句的解析优化能力

百万级

写表

tc007

业务查询2

半年

考察with语句的解析优化能力,支持dense_rank分析函数

个位


tc008