一 前言
BenchmarkSQL是一款经典的开源数据库测试工具,其包含 TPCC 测试脚本,支持MySQL、Oracle 、EnterpriseDB、PostgreSQL以及SQL Server 等数据库的性能压力测试。本文介绍 基于 Linux 系统安装 benchmark-5.1 版本 并且测试 postgresql。
二 实践
2.1 下载
还有一种是直接从官网下载zip安装包,直接解压缩即可。
2.2 安装
鉴于 BenchmarkSQL 是使用Java语言开发的,所以在安装压测工具之前,必须先安装JDK 并且配置JAVA 环境变量
将对应的数据库驱动配置到 /path/benchmarksql-5.1/lib/ 目录下,比如要针对pg进行压测,需要将驱动放到 /path/benchmarksql-5.1/lib/postgres
2.3 配置
配置文件
测试过程中的整体逻辑通过一个例子来说明:
2.4 压测
benchmarksql 其实和 sysbench 使用方法类似,先生成压测数据,然后压测 ,收尾的时候。
生成数据
sh runDatabaseBuild.sh props.polar
该操作会生成10个表 和一个sequence
压测
https://cloud.tencent.com/developer/article/runBenchmark.sh props.polar
结果解释
Running Average tpmTOTAL:每分钟平均执行事务数(所有事务)
Memory Usage:客户端内存使用情况
Measured tpmC (NewOrders) :每分钟执行的事务数(只统计NewOrders事务)
Transaction Count:执行的交易总数量
删除数据
https://cloud.tencent.com/developer/article/runDatabaseDestroy.sh props.polar
2.5 报告解析和生成html报告
benchmarksql 除了提供文字版输出, 还有 通过工具生成 html版本的报告 ,不过需要安装R语言和提前配置
resultDirectory=poc_%tY-%tm-%td_%tH%tM%tS 压测结束之后,使用命令
sh generateReport.sh poc_2021-10-17_
其中 poc_2021-10-17_ 为 报告的路径。比如此次测试的案例的结果如下:
三 总结
工欲善其事必先利其器,不过工具只是其中的一部分,性能优化的路还很长,还需要结合OS系统网络,cpu,io ,db系统整体进行调优。
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.mushiming.com/mjsbk/8074.html