ASBench数据库压测工具

联合创作 · 2023-10-01 16:28

ASBench一款可以同时对Oracle、PostgreSQL、MySQL做性能对比测试的数据库压测工具

目前能灵活编写SQL或测试脚本对不同的数据库进行压测对比的工具比较少,而此压测软件就是可以编写包含压测SQL的lua脚本,完成对Oracle、MySQL、PostgreSQL的压测,从而对比这些数据库在不同SQL下的性能差异。

安装和测试

在gitee的软件项目的release(https://gitee.com/csudata/asbench/releases/0.1)中找到asbench的发行版本 asbench.X.Y.tar.xz(其中X.Y是版本号)解压开,有目录asbenchXX,下面有一些文件:

  • asbench_mysql
  • asbench_ora
  • asbench_ora11
  • asbench_ora19
  • asbench_pg
  • bench_ora.sh
  • bench_pg.sh
  • lua
  • tnsnames.ora

测试Oracle

如果主机上没有安装Oracle客户端程序,需要到在gitee的软件项目的release(https://gitee.com/csudata/asbench/releases/0.1)中下载:

  • oracle-instant11.2.tar
  • oracle-instant12.2.tar
  • oracle-instant19.9.tar

根据不同的oracle版本下载不同的客户端版本,下载下来后,使用rpm命令安装即可:

rpm -ivh oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm

注意如果我们测试Oracle 11.2,需要把连接文件asbench_ora指向asbench_ora11。

修改bench_ora.sh中的内容:

Oracle的环境变量:

export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib:$LD_LIBRARY_PATH
export PATH=/usr/lib/oracle/11.2/client64/bin:$PATH

测试相关的内容:

  • --test=lua/select.lua: 是指定测试项,select.lua是一个按主键随机查询的测试
  • --oracle-db=oradb: 自定Oracle的连接服务名,这里的oradb需要在tnsnames.ora中的一个名称
  • --oracle-user=sysbench: 测试使用的数据库用户名称
  • --oracle-password=sysbench: 测试使用的数据库用户的密码

在tnsnames.ora中配置数据库的连接。

做好上面的配置后,就可以先初始化数据:

./bench_ora prepare

测试:

./bench_ora run

可以自己建一些测试的lua文件,如从lua/select.lua拷贝成一些新的文件:my_select.lua,修改其中的SQL,然后修改bench_ora中的lua/select.lua成lua/my_select.lua,然后运行./bench_ora run就可以开始测试了。

浏览 17
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报