使用benchmarkSQL测试数据库的TPCC


一、benchmarkSQL的特点:

开源、轻便、使用JDBC驱动;

适合不方便使用windowsODBC驱动的环境测试TPCC

 


 

benchmarkSQL在使用时分为数据准备和测试执行两个阶段,其中数据准备阶段完全在命令行环境,而执行测试则根据当前用户状态而自动选择在命令行,或界面中执行。JDK1.7

 

二、数据准备:

1. 在lib中放置JDBC驱动;

2. 修改run目录下:run开头的3个文件,修改里面jdbc驱动名称;

3. 修改配置文件,其中props.oraprops.pg分别是对应oraclepg数据库的;



第一个部分是JDBC连接信息。

第二个部分是场景设置,其中runTxnsPerTerminal是每分钟执行事务数,runMins是执行多少分钟,limitTxnsPerMin是每分钟执行的事务总数,并且这里时间的单位是分钟。场景执行的最低条件是第二项大于0

第三个部分是TPCC中,五个事务执行的比例,总数等于100,通常不用修改。

 

1) 建表:

建表的前提是初始化数据库

然后执行./runSQL kingbase.properties sqlTableCreates

sqlTableCreates是默认的建表语句,首先在库中创建一个benchmarksql模式,所有表都创建在这个模式下。

 

*由于建表语句中没有表空间的设置信息,因此如果创建比较大的表,系统会报错,只要根据之前执行TPCC测试时的建表语句,稍加修改即可。

*ISQL模式下,使用set search_path=模式名可以切换当前操作路径,按默认的方式查看指定模式下的内容。

*run中,对应建表,建索引,还有删除表,复制表,删除索引等几个脚本,可以配合使用。

 

2) 加载数据:

run下执行./runLoader.sh kingbase.properties numWarehouses 1300 

注意如果表过大,需要提前修改建表语句,增加表空间。

 

3) 创建索引:

run下执行./runSQL kingbase.properties sqlIndexCreates

 

4) 执行测试:

run下执行./runBenchmark.sh kingbase.properties

系统开始滚屏,执行指定时间后显示需要的统计信息:

 


你可能感兴趣的:(软件测试)