Linux下使用BenchmarkSQL测试PostgreSQL

之前转载过师兄的一篇博文《linux下使用Benchmark测试PostgreSQL》,上面讲的很详细,自己也按照过上面的方法演练了一边,不过也发现了其中的一个小问题,这里我在根据现有的各种资料重新整理一下使用Benchmark测试PostgreSQL TPC-C性能的相关问题。


一、BenchmarkSQL是什么?
      BenchmarkSQL是一款经典的开源数据库测试工具,内嵌了TPCC测试脚本,可以对EnterpriseDB、PostgreSQL、MySQL、Oracle以及SQL Server等数据库直接进行测试。


二、测试前提
1. 安装JDK。因为BenchmarkSQL本身是使用Java语言编写的,所以如果在Linux系统下还没有安装JDK的话,我们首先需要对其进行安装;
2. 安装PostgreSQL数据库系统。俗话说巧妇难为无米之炊,测试之前肯定需要有测试对象,本文是测试PG系统,故需安装有PG;
3. 安装BenchmarkSQL
可到http://sourceforge.net中搜索BenchmarkSQL即可下到,windows,linux版均有。我下载的是linux版的软件包BenchmarkSQL-2.3.3.zip,unzip解压后可以在README文件中看到该软件的使用说明,下面用中文具体介绍一下它的使用方法。


三、测试步骤
1. 启动待测试的数据库系统,这里即指启动PostgreSQL


2. 在BenchmarkSQL-2.3.3/run目录下找到postgres.properties配置文件,修改该文件如下:
driver=org.postgresql.Driver
conn=jdbc:postgresql://localhost:5432/test        #链接数据库地址
user=postgres      #链接数据库用户名
password=password    #密码
如果想测试其他数据库系统,则修改其他相应的配置文件即可,如oracle.properties等等。


3. 创建TPC-C基础表(即上篇博文中介绍的TPC-C模拟场景中9张表)
命令: runSQL.sh postgres.properties sqlTableCreates


4. 向数据库中导入指定大小的数据(参考资料2中此步有个小问题,多写一个等号)
命令:loadData.sh postgres.properties numWarehouses 10
numWarehouse指的是仓库数(具体含义见上篇博文),默认为1,导入9张表的数据大小大概70多M,
当 numWarehouse为10时,数据大小可以近似当作1GB数据。


5. 为基础表创建必要的索引
命令: runSQL.sh postgres.properties sqlIndexCreates


6. 运行runBenchmark.sh借助GUI程序测试数据库
命令:runBenchmark.sh postgres.properties
注意:不要忘记设置图形界面的仓库数时要与第4步中设置的数量相符;此外,测试的结果报告除了显示在图形界面有显示以外,还在run/reports目录下有备份,随时可以查阅。


四、BenchmarkSQL界面说明

Control-Database:配置所要链接的数据库,默认会读取之前我们修改的配置文件,故此处不用动。


Linux下使用BenchmarkSQL测试PostgreSQL_第1张图片

 Control-Terminals:配置终端数,仓库数,是否显示Debug信息,指定测试时间以及每终端事务等(每终端事务执行方式目前我也没理解,望交流)。


Linux下使用BenchmarkSQL测试PostgreSQL_第2张图片

 Control-Weights:配置TPC-C测试中五中事务的比重(界面中只要配置4种),一般按默认比例测试即可。


Linux下使用BenchmarkSQL测试PostgreSQL_第3张图片

Control-Controls:控制器设置,点击Create Terminals创建一个终端;点击Start Transaction开始基准测试,点击Stop Transaction停止基准测试。




 Error:错误信息显示。


 Terminals:各个终端日志查看。


 注意:
1. 测试完后在界面下方会显示简要的测试结果,包括平均tpmC值(每分钟执行的事务数),当前tpmC值,内存使用情况等等;出结果以后尽量记录下来,以为之后如果乱点界面按钮的话,测试结果将会被重写(感觉是一个bug);

2.运行过程中如果想要修改终端数等参数,最好关闭GUI界面,重新运行runBenchmark.sh。


Linux下使用BenchmarkSQL测试PostgreSQL_第4张图片

参考资料:
1.http://blog.sina.com.cn/s/blog_4485748101019wsh.html
2.http://blog.sina.com.cn/s/blog_48c95a190100j35g.html
3.http://www.docin.com/p-242425868.html

你可能感兴趣的:(Linux下使用BenchmarkSQL测试PostgreSQL)