数据库压力测试工具Hammerdb

数据库压⼒测试⼯具Hammerdb
本⽂主要介绍Hammerdb在OLTP(Online Transaction Processing,联机事务处理)系统中基于TPC-C的测试⽅法。
煤炭水分数据库压⼒测试 Database Load Testing
数据库尤其是关系型数据库系统已经逐渐成为公司或⼤型企业的IT系统中最核⼼的部分,⽽最能体现数据库能⼒的便是数据库的性能指标。 数据库压⼒测试通过模拟⽤户真实的应⽤场景,为数据库性能和可扩展性的评估提供了有效的⽅式。通过压⼒测试,数据库系统⼚商及⽤户可以了解数据库⾏为,从⽽到提⾼其性能的⽅法,对数据库的完善和进⼀步开发有着指导作⽤。
Hammerdb 简介 Introduction
Hammerdb作为⼀个开源的数据库压⼒测试的基准⼯具,同时⽀持Linux和Windows系统,有图形⽤户界⾯(GUI)和命令⾏两种形式。⽬前⽀持的数据库包括Oracle, SQL Server, DB2, MySQL, MariaDB, PostgreSQL, Redis等。
Hammerdb模拟了标准的TPC-C和TPC-H两种测试模型。相⽐于标准的TPC-C和TPC-H,Hammerdb运⾏成本低,操作简单, 是服务器数据库压⼒测试的很好选择。
Hammerdb基于TPC-C的OLTP系统测试模拟了⼀个批发商的仓储管理环境,本⽂将对此进⾏介绍,新⼿建议先从图形界⾯开始,命令⾏的会以后再介绍。
TPC & TPC-C
TPC(Transaction Processing Performance Council): 事务处理性能委员会是⼀个⾮营利性组织,其委员会成员包括⼤多数主要数据库产品⼚商以及服务器硬件系统供应商. 该组织定义了⼀系列数据库的基准,并依据这些基准测试项⽬向业界发布客观的TPC性能数据。更多信息可参考官⽅⽹站 TPC官⽹
TPC-C: 是TPC组织专门针对OLTP(Online Transaction Processing,联机事务处理)系统提出的基准规范,完全的规范了数据库在事务处理性能⽅⾯的评测标准和测评结果,是⽬前业界内公认的评测数据库性能的主流国际标准之⼀。 众⼚商已发布的历史结果可以去TPC 官⽹查看 TPC-C历史结果
包装密封性测试然⽽实施⼀次TPC-C基准测试的成本巨⼤,有时会耗费上百万美⾦,并且耗时很长,操作过程复杂。Hammerdb在TPC-C的基础上简化了实施标准,降低了实施难度。同时由于他的开源特性,除了硬件平台的搭建,⼤⼤减少了成本。
以Oracle的测试为例,下⾯介绍hammerdb的使⽤⽅法。
Hammerdb系统配置 System Configuration
Hammerdb的测试需要使⽤server-client 配置,即两台服务器系统,⼀台作被测机 (System Under Test, SUT),⼀台作压⼒机 (Load Generation Client)。这两台机器需要直连或者连到同⼀个交换机上以确保⽹络通畅。被测机服务器装oracle服务器版本,压⼒机安装oracle客户端版本和hammerdb。
Hammerdb的安装 Installation
制作无纺布手提袋下载安装包 Hammerdb官⽹
蜂巢发动机Hammerdb⽀持linux和Windows系统,⽬前最新版本是3.0。Linux系统3.0的安装⽅式有两种,⼀种是下载安装包然后使⽤图形界⾯安装,另⼀种是直接下载.tar压缩⽂件,解压后直接运⾏hammerdb⽂件即可,这种最简单。但3.0以前的版本都需要⽤第⼀张⽅法安装,这⾥简单讲⼀下,以Hammerdb 2.23为例。
[oracle@hammer-client ~]$chmod +x HammerDB-2.23-Linux-x86-64-Install #添加执⾏权限汽车空调电磁离合器
[oracle@hammer-client ~]$./HammerDB-2.23-Linux-x86-64-Install  #运⾏安装包⽂件
1
2
选择语⾔,然后⼀直下⼀步就可以了
安装完成,会在指定⽬录下⽣成⼀个HammerDB-2.23的⽂件夹。
运⾏⽬录下的l即可调⽤Hammer DB窗⼝:
[oracle@hammer-client ~]$ ./l
1
在Linux系统, 需要配置下环境变量,加⼊oracle库⽂件的路径
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export ORACLE_LIBRARY=$ORACLE_HOME//lib/libclntsh.so
1
2
测试步骤 Test Method
1.加载测试数据
先选择数据库。点击菜单栏option下⾯的benchmark,选择想要测试的数据库
在⽤Hammer DB 测试TPCC 之前,需要先⽤Hammer DB 往数据库⾥加载测试数据。 数据单位是warehouse。点击左侧’Schema Build’下拉菜单中option进⾏选项设置
这⾥的修改在下次重新打开hammerdb时便会失效,如果想要永久性修改option中的设置也可以通过修改Hammerdb⽬录下
l⽂件中的参数 (3.0以前版本则修改l⽂件)。
点击‘Build’或顶部的’create TPCC schema’按钮, 开始创建测试数据模型,相应的脚本会加载到脚本编辑器中。
开始创建测试数据,右边的窗⼝会显⽰输出。
Hammer DB 加载完数据完成,点击红⾊按钮destroy virtual users终⽌。
2.设置测试参数
接下来设置测试参数,即Driver Script下的Options,同样可以通过修改l保存所设置参数(3.0以前版本修改l ⽂件)
每⼀次设置好后都需要点击load加载测试脚本到脚本编辑窗⼝,当然也可以直接在脚本编辑框中修改。
3.单次测试
在Virtual user下进⾏虚拟⽤户的设置,包括⽤户和重复次数等。Virtual user的数量跟CPU的总核数相关。选择’log Output to Temp’会把log输出到/tmp/hammerdb.log⽂件中。同样如果要长久保存设置修改l⽂件(3.0以前版本修改
设置好了之后点击create创建⽤户,然后点Run就可以把测试跑起来啦
测试的结果会显⽰在右边的窗⼝中,也会保存在/tmp/hammerdb.log⽂件中。可以⽤命令快速查看多次测试结果。
微安表
[oracle@hammer-client ~]$grep TPM /tmp/hammerdb.log -B1
1
4.Autopilot多次测试取峰值
数据库的测试结果会随着virtual user 数的增加逐渐达到饱和。有了Autopilot这个功能,可以⾃动化进⾏多次测试。将多个virtual user的值输⼊,中间⽤空格间隔。这⾥设置的每跑⼀次的测试时间应当⼤于Driver script –option下设置的ramp up和正式测试的总时间。
Transaction counter实时监测测试过程
在跑测试之前设置好transaction counter,就可以在测试的过程中实时数据库的吞吐量,有助于发现问题和系统瓶颈分析。
设置好之后开始跑测试,然后点击下图按钮就可以实现监控了。
测试结果 Test Result
Hammerdb的测试结果由吞吐量(throughput)来衡量,单位为TPM (Transactions per minute)。另外
标准TPC-C的单位为tpmC。注: Hammerdb模拟但并不等同于标准的TPC-C,它的结果并不能标准的TPC-C相⽐

本文发布于:2024-09-22 01:09:34,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/248843.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:测试   数据库   系统   设置   性能   脚本   结果
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议