之前有介绍过sysbench基准测试工具,类似的开源测试工具还有BenchmarkSQL,一个JDBC基准测试工具,内嵌了TPC-C测试脚本,也支持很多数据库,如PostgreSQL、Oracle和Mysql等。
1、软件环境
系统用CentOS7
Java,因为BenchmarkSQL本身是使用Java语言编写的,所以如果在Linux系统下还没有安装JDK的话,我们首先需要对其进行安装
数据库,本例先介绍PostgreSQL和Mysql
Ant,用来对BenchmarkSQL进行编译
EPEL仓库
R语言,用来生成图形报告
以及上述软件的依赖。
2、安装过程
2.1、安装ant
yum -y install ant
2.2、安装EPEL仓库
安装 su -c 'rpm -Uvh https://download.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm'
更新 yum -y update
2.3、安装R语言
yum -y install R
2.4、安装BenchmarkSQL
在下载地址中下载所需的包,上传至服务器后完成解压:unzip ./benchmarksql-5.0.zip
进入解压后的目录用ant编译
cd benchmarksql
ant
此时会编译出一个版本 benchmarksql-5.0/dist/BenchmarkSQL-5.0.jar,但是该版本并不支持MySQL的TPC-C测试,需要做如下的修改。
修改benchmarksql源码
(1)修改benchmarksql-5.0/src/client/jTPCC.java,增加mysql相关部分,如下所示:
if (iDB.equals("firebird"))
dbType = DB_FIREBIRD;
else if (iDB.equals("oracle"))
dbType = DB_ORACLE;
else if (iDB.equals("postgres"))
dbType = DB_POSTGRES;
else if (iDB.equals("mysql"))
dbType = DB_UNKNOWN;
else
{
log.error("unknown database type '" &#