数据库集群功能验证与效率测试方法研究
作者:郭盈 周润松 发布时间:[ 2016/9/26 14:28:21 ] 推荐标签:数据库 功能测试
3.2 TPC-C效率测试
TPC-C效率测试主要集中在针对OLTP的数据库模型对数据库集群进行效率验证,主要考察在集群情况下系统的TPC-C的吞吐量(即在一定仓库和并发用户数的前提下,5中事务混合情况下每分钟还可以接受新订单的个数)和系统处理过程中的资源特性。
本文的TPC-C的效率测试主要采用开源工具orabm搭建具有TPC-C的物流模型,在模拟大量并发用户的同时,利用开源工具hammerora生成事务请求,然后与数据库集群系统进行交互,同时通过监控待测数据库集群系统的性能,进而收集测试的结果并分析。
测试方法如下:
第一步,采用orabm构建TPC-C的标准测试环境。建立TPC-C模型的数据表,加载指定仓库数的数据,创建索引,分析表和索引,创建压力测试PL/SQL过程,表和索引数据都缓冲到内存中提供数据的访问效率;
第二步,采用hammerora内置的脚本来驱动并运行基准测试,同时实现对数据库的多个并发线程的连接。
第三步,收集数据库的性能指标,包括测试过程中获取的某时刻的TPS值和每秒钟逻辑读写的事务数。
第四步,通过上述步骤针对单机的数据库与集群的数据库系统进行同等参数设置下的TPC-C基准测试,对比其测试结果以验证集群环境下的数据库性能。
3.3 TPC-H效率测试
TPC-H效率测试主要集中在针对OLAP的数据库模型对数据集群进行效率验证,主要考察两类事务,一类是查询事务,包括22条复杂查询语句,一类是更新事务,包括2条更新数据。在此测试中,主要考察数据库的Power测试和Throughput测试。Power测试模拟单个查询流和更新流;Throughput测试模拟多个并发用户,即多个查询流和多个更新流。在这里,我们简化TPC-H的计算方式,而统计22条查询语句和2条更新语句(插入数据和删除数据语句)在单流和多并发下的不同规模的数据情况下的响应时间来评估集群数据库的在线分析系统的效率。具体的SQL语句形式可参见TPC-H模型的说明书,这里不加熬述。
TPC-H的测试方法思想如下:在Power测试中,构建单执行的SQL语句流,时序形式是先插入数据语句,再执行22条查询语句,然后执行删除语句;在Throughput测试测试多个查询流(即22条查询语句)和插入删除语句并发执行。在测试过程中,选用商业化的测试工具LoadRunner的ODBC方式来执行上述两类测试,具体的步骤如下:
第一步,通过TPC-H网站的数据生成工具DBGEN生成待测试的数据量,大小由测试人员和数据库使用者决定,并将生成的数据导入到待测试的数据库中;
第二步,通过TPC-H网站查询语句生成工具的QGEN产生相应的待测试SQL语句;
第三步,采用LoadRunner的ODBC脚本编辑第二步产生的SQL语句形成Power测试单用户脚本和Throughput测试多用户并发脚本;同时设置好单个SQL语句的事务点,用于统计响应时间;
第四步,配置单用户和多用户并发场景,执行Power和Throughput测试,同时收集数据库服务器端的性能数据,包括CPU,内存,磁盘和网络等资源占用情况;
第五步,上述步骤应用于单数据库和集群数据库下,对比其测试结果,验证集群环境下数据库运行在OLAP模型下的效率。
4. 结束语
本文提出了验证集群数据库功能和效率的验证测试方法,主要针对集群数据库的故障转移能力、负载分摊能力和数据库运行在OLTP和OLAP环境下效率验证。同时提出详细的实施方法和步骤,在核高基国产基础软件评估课题中加以验证,结果客观具有代表性,保证了国产数据库的研发质量。
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-61079698-8054),我们将立即处理,马上删除。

sales@spasvo.com