SQLFire企业级大数据平台测试报告_第1页
SQLFire企业级大数据平台测试报告_第2页
SQLFire企业级大数据平台测试报告_第3页
SQLFire企业级大数据平台测试报告_第4页
SQLFire企业级大数据平台测试报告_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第 页SQLFire企业级大数据平台测试报告目 录 TOC o 1-3 h z u HYPERLINK l _Toc484845239 1.测试目的 PAGEREF _Toc484845239 h 4 HYPERLINK l _Toc484845240 2.测试环境 PAGEREF _Toc484845240 h 4 HYPERLINK l _Toc484845241 2.1.硬件环境 PAGEREF _Toc484845241 h 4 HYPERLINK l _Toc484845242 2.2.软件环境 PAGEREF _Toc484845242 h 5 HYPERLINK l _Toc48

2、4845243 3.测试内容 PAGEREF _Toc484845243 h 5 HYPERLINK l _Toc484845244 3.1.基本功能 PAGEREF _Toc484845244 h 5 HYPERLINK l _Toc484845245 3.1.1.标准SQL能力测试 PAGEREF _Toc484845245 h 5 HYPERLINK l _Toc484845246 3.1.2.集群分组管理 PAGEREF _Toc484845246 h 14 HYPERLINK l _Toc484845247 3.1.3标准接口测试 PAGEREF _Toc484845247 h 17

3、 HYPERLINK l _Toc484845248 3.1.4数据持久化验证 PAGEREF _Toc484845248 h 19 HYPERLINK l _Toc484845249 3.1.5分布式事务验证 PAGEREF _Toc484845249 h 23 HYPERLINK l _Toc484845250 3.1.6 SQLFire监控系统状态测试 PAGEREF _Toc484845250 h 25 HYPERLINK l _Toc484845251 3.1.7数据重平衡验证 PAGEREF _Toc484845251 h 28 HYPERLINK l _Toc484845252

4、3.1.8数据备份恢复 PAGEREF _Toc484845252 h 30 HYPERLINK l _Toc484845253 3.1.9 数据的导入导出功能 PAGEREF _Toc484845253 h 34 HYPERLINK l _Toc484845254 3.1.10日志压缩测试 PAGEREF _Toc484845254 h 39 HYPERLINK l _Toc484845255 3.2. 性能 PAGEREF _Toc484845255 h 41 HYPERLINK l _Toc484845256 3.2.1加载性能 PAGEREF _Toc484845256 h 41 HY

5、PERLINK l _Toc484845257 3.2.2并发性能 PAGEREF _Toc484845257 h 42 HYPERLINK l _Toc484845258 3.2.3极限测试 PAGEREF _Toc484845258 h 44 HYPERLINK l _Toc484845259 3.2.4关联测试 PAGEREF _Toc484845259 h 45 HYPERLINK l _Toc484845260 3.3.高可用 PAGEREF _Toc484845260 h 47 HYPERLINK l _Toc484845261 3.3.1Locater进程高可用测试 PAGERE

6、F _Toc484845261 h 47 HYPERLINK l _Toc484845262 3.3.2Server进程高可用测试 PAGEREF _Toc484845262 h 51 HYPERLINK l _Toc484845263 3.3.3Locater节点高可用测试 PAGEREF _Toc484845263 h 54 HYPERLINK l _Toc484845264 3.3.3Server节点高可用测试 PAGEREF _Toc484845264 h 56测试目的通过功能、性能、高可用测试,验证SQLFire是否满足在大数据基础架构平台对精细化营销和客流分析应用的需求。测试环境硬

7、件环境硬件位置信息: 硬件配置清单:序号设备名称设备数量设备用途说明操作系统设备类型设备配置备注CPU内存硬盘1分布式内存服务节点20部署分布式内存服务Redhat7.0X86机架服务器( RH5885V3)32C512GB6*600GB SAS 部署docker、Redis cluster分布式内存数据库、SQLFire分布式内存数据库等服务2分布式协调及资源调度节点3实现分布式协调服务、资源调度服务Redhat6.5虚拟机16C40GB80GB部署zookeeper、yarn等服务硬件配置表:设备类型/型号单台配置数量X86机架式服务器( RH5885V3)单台4路八核E7-4820V2

8、2.0GHz CPU/512GB 内存/6*600GB SAS 硬盘/4*10GE 光/4*GE 电20软件环境软件名称版本用途Red HatRed Hat Enterprise Linux Server release 7.0服务器操作系统SQLFirepivotal-sqlfire-1.1.2-1.el6.noarch.rpm分布式内存数据库测试内容基本功能标准SQL能力测试用例名称标准SQL能力验证测试目的验证SQLFire对标准SQL的支持程度预置条件系统运行正常系统中存在运行状态的主机测试过程预期结果正常连接上集群1、创建、删除模式sqlf create schema zjmobil

9、e;0 rows inserted/updated/deletedsqlf show schemas;TABLE_SCHEM APP NULLID SQLJ SYS SYSCAT SYSCS_DIAG SYSCS_UTIL SYSFUN SYSIBM SYSPROC SYSSTAT ZJMOBILE 12 rows selectedsqlf set current schema zjmobile;-设置当前模式0 rows inserted/updated/deletedsqlf drop schema zjmobile restrict ;0 rows inserted/updated/de

10、leted注:要启用用户权限控制,需要配置/opt/pivotal/sqlfire/Pivotal_SQLFire_112/perties参数,具体可以参考官方文档288页Configuration Properties章节部分创建、删除表对象create table TARGET_USER_INPUT( user_id numeric(16,0),primary key(user_id),user_name varchar(100) redundancy 2 -数据冗余存储策略partition by column (user_id) -表数据分区方式(可选分区、复制)

11、persistent store_data asynchronous -表数据异步存储在磁盘store_data中(可选异步、实时);sqlf drop table target_user_input;0 rows inserted/updated/deletedsqlf创建、删除视图sqlf create view v2 as select user_id,arpu,mou from user_info2 ;0 rows inserted/updated/deletedsqlf select tablename,tableschemaname,tabletype from sys.systa

12、bles where tableschemaname=APP;TABLENAME |TABLESCHEMANAME |TABLETYPEV2 |APP |V USER_INFO2 |APP |T USER_INFO1 |APP |T V1 |APP |V USER_INFO |APP |T 5 rows selectedsqlf drop view v2;0 rows inserted/updated/deletedsqlf drop view v1;0 rows inserted/updated/deleted创建、删除表索引sqlf Create index ind_user_id on

13、TARGET_USER_INPUT(user_id);0 rows inserted/updated/deletedsqlf drop index if exists app.ind_user_id ;0 rows inserted/updated/deletedsqlfTruncate表数据sqlf select count(1) from user_info;1 41266392 1 row selectedELAPSED TIME = 5064 millisecondssqlf truncate table user_info ;0 rows inserted/updated/delet

14、edELAPSED TIME = 1579 millisecondssqlf向TARGET_USER_INPUT表中插入记录Insert into TARGET_USER_INPUT values (1,aa);Insert into TARGET_USER_INPUT values (2,bb);Insert into TARGET_USER_INPUT values (3,cc);Insert into TARGET_USER_INPUT values (4,dd);更新TARGET_USER_INPUT表中的记录Update TARGET_USER_INPUT set user_name

15、=kk where user_id=1;删除记录:Delete from TARGET_USER_INPUT where user_id=1;1、登录成功。2、各个标准sql操作验证成功测试结果测试通过备注集群分组管理用例名称集群分组管理测试目的验证集群的分组管理能力预置条件系统运行正常系统中存在运行状态的主机测试过程预期结果使用server-groups启动server:sqlf server start -locators=node110334 -bind-address=node1 -client-port=1528 -dir=/usr/local/sqlfire_data/server

16、1-max-heap=1G -initial-heap=1G -server-groups=node1sqlf server start -locators=node110334 -bind-address=node2 -client-port=1528 -dir=/usr/local/sqlfire_data/server1-max-heap=1G -initial-heap=1G-server-groups=node2创建了1个Group的名字,如果指定的group不存在就创建,如果指定的group的名字已经存在了那么新加的server会自动添加到指定的group中进行管理2. 在指定的g

17、roup中创建表create table TARGET_USER_INPUT_1(user_idnumeric(16,0),primary key(user_id),COUNTRY VARCHAR(26)redundancy 2partition by column (user_id)persistent store_data asynchronousSERVER GROUPS (node1)向表中插入数据在指定的group中查询数据,验证是否可以成功获取到数据完整支持数据的分组管理测试结果测试通过备注3.1.3标准接口测试用例名称标准接口测试目的测试SQLFire对标准接口的支持程度预置条件

18、系统运行正常系统中存在运行状态的主机测试过程预期结果jdbc创建java main函数测试对jdbc的支持:/加载jdbc驱动类Class.forName(com.sqlfire.jdbc.Driver);con=(Connection)DriverManager.getConnection(jdbc:sqlfire:/00:5258/test, test, test20110531);System.out.println(连接建立成功!);SQLFire目前只支持JDBC和ADO.NET两种访问接口,但在我们的业务系统中都使用java程序1、创建连接成功。测试结果测试

19、通过备注3.1.4数据持久化验证用例名称数据持久化验证测试目的测试SQLFire数据持久化能力预置条件系统运行正常系统中存在运行状态的主机测试过程预期结果连接上集群:connect client host:port创建持久化对象create diskstore store_data maxlogsize 1024 autocompact true allowforcecompaction false compactionthreshold 80 timeinterval 5000 writebuffersize 19292393 queuesize 17374 (data_dir1 456);

20、验证是否创建成功sqlf select * from sys.sysdiskstores; -查询数据库集群中的diskstore创建表create table TARGET_USER_INPUT( user_id numeric(16,0),primary key(user_id) redundancy 2 -数据冗余存储策略partition by column (user_id) -表数据分区方式(可选分区、复制)persistent store_data asynchronous -表数据异步存储在磁盘store_data中(可选异步、实时);向TARGET_USER_INPUT表中插

21、入200条数据。Insert into TARGET_USER_INPUT values (1).等待异步同步的触发时间到达,然后检查数据持久化目录下的文件使用shut-down-all停止集群,并确保停止成功重启集群,验证200条数据是否完整数据能够持久化成功,重启集群后,数据不丢测试结果测试通过备注3.1.5分布式事务验证用例名称分布式事务验证测试目的测试SQLFire是否支持分布式事务 预置条件系统运行正常系统中存在运行状态的主机测试过程预期结果正常连接上集群,并创建airlines分片表正常执行:sqlf(PEERCLIENT)setisolationreadcommitted;sql

22、f(PEERCLIENT)valuescurrentisolation;sqlf(PEERCLIENT) AUTOCOMMIT off;3. 向表中插入多条记录确保数据跨多个server:sqlf(PEERCLIENT) insert into airlines VALUES (NA, New Airline, 0.20, 0.07, 0.6, 1.7, 20, 10, 5);1 row inserted/updated/deletedsqlf(PEERCLIENT) commit;重新连接,检查插入数据是否生效继续设置setisolationreadcommitted;valuescurre

23、ntisolation;AUTOCOMMIT off;向表中再插入数据:sqlf(PEERCLIENT) insert into airlines VALUES (Nb, New Airline1, 0.21, 0.17, 0.6, 1.7, 20, 10, 5);sqlf(PEERCLIENT) rollback;5. 重新连接集群,检查回滚是否成功。1、登录SQLFire成功。2、完整支持分布式事务。测试结果测试通过备注3.1.6 SQLFire监控系统状态测试用例名称SQLFire监控系统状态测试测试目的测试SQLFire企业管理器运行状态,对集群的管理能力预置条件系统运行正常系统中存在

24、运行状态的主机测试过程预期结果SQLFire提供多种监控手段(JMX,VSD,Hyperic) 1、登录监控系统成功。2、各个监控项运行正常。测试结果测试通过备注3.1.7数据重平衡验证用例名称SQLFire数据重平衡验证测试目的测试SQLFire数据的重平衡能力预置条件系统运行正常系统中存在运行状态的主机测试过程预期结果向集群分片表中插入1w条记录通过查询系统表MEMORYANALYTICSSelect table_name,id,host,num_rows from sys.memoryanalytics;添加新的节点server加入集群比如:sqlf server start -loca

25、tors=node110334 -bind-address=node1 -client-port=1528 -dir=/usr/local/sqlfire_data/server1-max-heap=1G -initial-heap=1G查看是否添加成功:select * from sys.members可手工执行reblance命令:sqlfcallsys.rebalance_all_buckets(); 或在新添加集群的时候加入启动参数-rebalance,进行数据重平衡再次查询memoryanalytics表检查数据是否已经重平衡到新的节点1、各个功能点验证成功。测试结果测试通过备注3.

26、1.8数据备份恢复用例名称数据的备份恢复测试目的测试SQLFire的数据备份恢复能力 预置条件系统运行正常系统中存在运行状态的主机测试过程预期结果建立备份目录并赋予响应的读写权限进行数据备份:sqlf backup ./sqlfire_data_backup/ -locators=node110334到每一个物理主机上检查备份是否成功在线备份的恢复步骤1. 停止locator和server2. 删除locator和server的数据目录3. 在每台机器使用restore脚本进行恢复成功备份数据并可以恢复测试结果测试通过备注3.1.9 数据的导入导出功能用例名称数据的导入导出测试目的测试SQLF

27、ire的数据导入导出能力 预置条件系统运行正常系统中存在运行状态的主机测试过程预期结果连接上集群,并准备好导入的数据文件和需要导入的表模型文本数据导入sqlf call syscs_util.import_table_ex(APP,USER_INFO1,/home/sqlfire/abc.txt,;,null,null,0,0,6,0,null,null);Statement executed. -从/home/sqlfire/abc.txt文件导入按照;为分隔符的数据至表app.user_info1sqlf select * from user_info1;USER_ID |ARPU |MO

28、U 6 |7.00 |8 3 |4.00 |5 6 |7.00 |8 3 |4.00 |5 2 |3.00 |4 8 |9.00 |10 5 |6.00 |7 5 |6.00 |7 2 |3.00 |4 8 |9.00 |10 7 |8.00 |9 4 |5.00 |6 4 |5.00 |6 1 |2.00 |3 7 |8.00 |9 1 |2.00 |3 16 rows selected数据导出文本sqlf call syscs_util.export_table(APP,USER_INFO1,/home/sqlfire/abcde.del,;,null,null); -按照;为分隔符导出a

29、pp.user_info1表的数据Statement executed.sqlfsqlfirecsvbdyx06: cat abcde.del 6;7.00;83;4.00;56;7.00;83;4.00;52;3.00;48;9.00;105;6.00;75;6.00;72;3.00;48;9.00;107;8.00;94;5.00;64;5.00;61;2.00;37;8.00;91;2.00;3测试结果测试通过备注3.1.10日志压缩测试用例名称日志压缩测试测试目的测试diskstore的日志压缩。预置条件系统运行正常系统中存在运行状态的主机测试过程预期结果准备数据文件创建持久化disk

30、store对象创建测试表并设置好持久化对象导入数据,并等数据持久化完成查看持久化文件所占用的磁盘容量大小删除部分数据后,执行压缩命令对比压缩前后的数据文件大小。1、登录成功。2、日志压缩正常测试结果测试通过备注3.2. 性能3.2.1加载性能用例名称加载性能测试目的模拟约100GB数据,启动多个server。并测试在在多少时间窗口内可以完成所有加载。预置条件系统运行正常系统中存在运行状态的主机测试过程预期结果1、登录加载节点。2、使用SQLFire加载命令做数据加载1、登录成功。2、记录下数据的加载时间测试结果原始文件122G,记录数80233821,加载共耗时约28分38秒。备注3.2.2并

31、发性能用例名称并发性能测试目的测试SQLFire能承载的并发能力。预置条件系统运行正常系统中存在运行状态的主机测试过程预期结果准备测试表模型和数据量(千万级别)准备测试的SQL语句,包含查询、修改等数据库操作编写java测试程序通过命令行启动测试程序,通过参数指定不同的并发数来模拟测试结果表中总数据量为27486549条。100并发,共300000次SQL操作,总耗时1079毫秒。QPS为278035。500并发,共1500000次SQL操作,总耗时2657毫秒。QPS为564546。1000并发,共3000000次SQL操作,总耗时5776毫秒。QPS为519390。备注并发执行的SQL如下

32、,其中rown为随机数。select * from TESE_CONC fetch first 10 rows only select * from TESE_CONC where ROWN=? update TESE_CONC set PLAN_ID=111 where ROWN=?100并发,共300000次SQL操作的结果:500并发,共1500000次SQL操作的结果:1000并发,共3000000次SQL操作的结果:3.2.3极限测试用例名称建表极限测试测试目的测试SQLFire建表极限。预置条件系统运行正常测试过程预期结果使用建表脚本持续创建表,尝试最大创建2万个表可以创建表测试结

33、果可以创建2万个表。备注3.2.4关联测试用例名称关联测试测试目的测试SQLFire两表的JOIN性能预置条件系统运行正常测试过程预期结果准备一张小表,一张大表(千万级别)使用SQL测试两表JOIN性能在两表的JOIN字段上建立索引后,测试两表JOIN性能。记录JOIN时间测试结果小表为复制表,记录数为5000条大表为分区表,记录数为80233821条。无索引时,两表JOIN并取前1000条记录,总耗时约为9秒。有索引时,两表JOIN并取前1000条记录,总耗时约为3秒。备注无索引JOIN测试:有索引JOIN测试:高可用3.3.1Locater进程高可用测试用例名称locator高可用测试测试

34、目的当部分SQLFire locator服务宕机的时候,不影响集群的正常使用,通过数据持久化,保证数据不丢。预置条件系统运行正常,2个locator服务和4个server服务测试过程预期结果连接其中之一的locator服务创建一个持久化对象create diskstore store_data maxlogsize 1024 autocompact true allowforcecompaction false compactionthreshold 80 timeinterval 5000 writebuffersize 19292393 queuesize 17374 (data_dir1 456);创建表:create table TARGET_USER_INPUT(user_idnumeric(16,0),primary key(user_id)redundancy 2partition by column (user_id)persistent store_data asynchronous向表中插入200条数据,检查数据的分布情况是否已经平均的分布在各个server节点中。停止其中的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论