一、benchmarkSQL的特点:
开源、轻便、使用JDBC驱动;
适合不方便使用windows及ODBC驱动的环境测试TPCC
benchmarkSQL在使用时分为数据准备和测试执行两个阶段,其中数据准备阶段完全在命令行环境,而执行测试则根据当前用户状态而自动选择在命令行,或界面中执行。JDK1.7
二、数据准备:
1. 在lib中放置JDBC驱动;
2. 修改run目录下:run开头的3个文件,修改里面jdbc驱动名称;
3. 修改配置文件,其中props.ora和props.pg分别是对应oracle和pg数据库的;
第一个部分是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
系统开始滚屏,执行指定时间后显示需要的统计信息: