POC测试总结
一、 测试内容
测试内容 |
测试目的 |
其他 |
功能测试 |
验证产品的自动部署安装、集成统一管理、运维监控功能是否完善、对SQL的支持能力(SQL-标准、事务支持能力、索引、存储过程、UDF),混合负载管理能力 |
存储特性及多重分区能力 |
组件测试 |
验证产品的数据压缩存储特性、多种计算接口支持、对异构数据库支持、数据挖掘能力 |
压缩对性能的影响 |
性能测试 |
测试产品的单查询性能和并发查询能力、验证产品的索引特性及大批量数据更新能力、删除能力、数据导出能力 |
索引特性 大批量数据更新删除能力 |
可靠性能 |
验证集群不同组件的高可用、备份、恢复能力 |
|
安全测试 |
验证产品的安全权限管理 |
|
扩展性测试 |
产品节点置换、扩展能力及对性能的影响 |
本次选取了有代表性的几个产品进行比对,记录测试时间和测试结果,并对结果和出现的问题进行一定的分析。因篇幅限制,本文只介绍SQL引擎性能有关的测试,其他内容下次介绍。另外个别产品比如IBM的BigSql测试结果没有一一列出,只在文中有少量提及。
二、 测试流程
1. 准备工作
环境分配、搭建、检查
测试案例设计、评审
自动化脚本编写调试
评审脚本,确定开始时间
修改密码、启动机器
2. 执行过程
清库、建库、加载种子数据、翻数、运行核数脚本
单查询
并发查询
逐条导入
导出测试
组件测试(压缩、多租户、接口支持),扩展性测试、可靠性测试、安全测试、TPC-DS测试
三、 测试环境
1. 测试环境及工具
机器节点 |
操作系统 |
节点数 |
磁盘 |
内存 |
CPU |
RAID策略 |
DB节点 |
Red Hat 6.6 |
18 |
SATA盘2T/块*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 |