PostgreSQL BenchmarkSQL使用

1、安装PostgreSQL数据库

2、下载解压benchmark插件

官网下载地址:https://sourceforge.net/projects/benchmarksql/files/latest/download

3、安装ant插件

yum install ant

使用ant对BenchmarkSQL源码进行编译

4、修改benchmark配置文件

/benchmarksql-5.0/run/props.pg

warehouses=1    //仓库数量,每个warehouse大小大概是100MB
loadWorkers=4    //用于在数据库中初始化数据的加载进程数量
terminals=1    //终端数,即并发客户端数量

//To run specified transactions per terminal- runMins must equal zero
//每个终端(terminal)运行的固定事务数量,例如:如果该值设置为10,意味着每个terminal运行10个事务,如果有32个终端,那整体运行320个事务后,测试结束。该参数配置为非0值时,下面的runMins参数必须设置为0
runTxnsPerTerminal=10

//To run for specified minutes- runTxnsPerTerminal must equal zero
//要测试的整体时间,单位为分钟,如果runMins设置为60,那么测试持续1小时候结束。该值设置为非0值时,runTxnsPerTerminal参数必须设置为0。这两个参数不能同时设置为正整数,如果设置其中一个,另一个必须为0,主要区别是runMins定义时间长度来控制测试时间;runTxnsPerTerminal定义事务总数来控制时间。
runMins=0

//Number of total transactions per minute
测试吞吐量时,需要将此值设置极大(无限大),这样就能够保证不会出现某个终端sleep现象。

//每分钟事务总数限制,该参数主要控制每分钟处理的事务数,事务数受terminals参数的影响,如果terminals数量大于limitTxnsPerMin值,意味着并发数大于每分钟事务总数,该参数会失效,想想也是如此,如果有1000个并发同时发起,那每分钟事务数设置为300就没意义了,上来就是1000个并发,所以要让该参数有效,可以设置数量大于并发数,或者让其失效,测试过程中目前采用的是默认300。
limitTxnsPerMin=300

 //终端和仓库的绑定模式,设置为true时可以运行4.x兼容模式,意思为每个终端都有一个固定的仓库。设置为false时可以均匀的使用数据库整体配置。TPCC规定每个终端都必须有一个绑定的仓库,所以一般使用默认值true。
terminalWarehouseFixed=true

//下面五个值的总和必须等于100,默认值为:45, 43, 4, 4 & 4 ,与TPC-C测试定义的比例一致,实际操作过程中,可以调整比重来适应各种场景。
newOrderWeight=45
paymentWeight=43
orderStatusWeight=4
deliveryWeight=4
stockLevelWeight=4

//测试数据生成目录,默认无需修改,默认生成在run目录下面,名字形如my_result_xxxx的文件夹。
resultDirectory=my_result_%tY-%tm-%td_%tH%tM%tS

//操作系统性能收集脚本,默认无需修改,需要操作系统具备有python环境
osCollectorScript=./misc/os_collector_linux.py

//操作系统收集操作间隔,默认为1秒
osCollectorInterval=1

//操作系统收集所对应的主机,如果对本机数据库进行测试,该参数保持注销即可,如果要对远程服务器进行测试,请填写用户名和主机名。
osCollectorSSHAddr=user@dbhost

//操作系统中被收集服务器的网卡名称和磁盘名称,例如:使用ifconfig查看操作系统网卡名称,ens33,那么下面网卡名设置为net_ens33(net_前缀固定);使用df -h或者fdisk -l 查看磁盘挂在目录,我DIsk是/dev/sda,那么下面磁盘名设置为blk_sda(blk_前缀固定)
osCollectorDevices=net_eth0 blk_sda

5、创建表和约束

./runDatabaseBuild.sh props.pg 

查询库大小

select pg_database.datname, pg_size_pretty (pg_database_size(pg_database.datname)) AS size from pg_database; 

 

使用了1仓数据

6、跑测试,并生成结果

./runBenchmark.sh props.pg

7、删除表

./runDatabaseDestroy.sh props.pg

数据量比较大建议删除data目录

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值