(mysql、sql都可以用这个工具,配置大致一样)
下载&安装HammerDB
HammerDB官网地址:https://www.hammerdb.com/download.html
(本次选择的是linux版本的,Windows版本和linux版本用法相同)
Step01:下载完成后,上传安装包到linux客户端,用Xstar连接到客户端。
Step02:增加Hammerdb安装包执行权限
chmod +x HammerDB-3.3-Linux-x86-64-Install
Step03:安装(由于Hammer installer有图形化界面,所以需要指定DISPLAY环境)
//我指定到我windos机器来进行安装界面显示
export DISPLAY=192.168.93.132:0
//执行安装程序
./HammerDB-3.3-Linux-x86-64-Install
(语言和安装路径可以自己选,其他都不用动,默认执行下一步即可)
完成
运行HammerDB
Step01:登录Oracle用户,HammerDB会用到Oracle的库
su - oracle
Step02:指定Oracle数据库的环境变量($ORACLE_HOME这个在安装Oracle的时候会配置)
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export ORACLE_LIBRARY=$ORACLE_HOME/lib/libclntsh.so
Step03:进入Hammerdb安装目录并运行程序
cd /usr/local/HammerDB-3.3/
//运行时,会显示界面,设置DISPLAY。切换用户后临时环境变量会消失。
export DISPLAY=192.168.93.132:0
//运行hammerdb
./hammerdb
(启动后,默认就会有Oracle-TPC-C模式,所以不需要去配置,如果不是,则到Options里面去配置benchmark即可)
配置HammerDB的Oracle Schema Build
准备Oracle用户和表空间
Step01:用系统用户登录数据库
//格式:用户/密码@数据库名
sqlplus sys/Oracle123@datadb as sysdba
Step02:创建用户并授权
//创建密码为Oracle123的用户zhltest
create user zhltest identified by Oracle123;
//给zhltest用户授权
grant connect,resource,dba to zhltest;
Step03:创建表空间(HammerDB会用到2个表空间)
//创建zhltest表空间(大于32G的需要用bigfile表空间,+DATA是ASM磁盘组的名字)
create bigfile tablespace zhltest datafile '+DATA' size 10240G;
//创建zhltesttmp临时表空间
create temporary tablespace zhltesttmp tempfile '+DATA' size 10G;
//完成后会生成一个对应的datafile
select name from v$datafile;
Step03:指定用户默认表空间
//指定表空间zhltest为用户zhltest的默认表空间
alter user zhltest default tablespace zhltest;
完成
Others:删除用户和表空间(需要清理时使用)
//删除表空间和datafile
drop tablespace zhltest including contents and datafiles cascade constraint;
//删除用户(要用system登录):
drop user zhltest cascade;
配置Oracle Bulid Options
Step01:将数据库连接地址、创建的用户、表空间、临时表空间配置上
(Virtual User根据客户端的线程数定,一般配置等于线程数。WareHouses根据空间定。)
详细配置参考:https://www.hammerdb.com/docs/ch04s03.html#d0e800
Step02:进行Build
运行中,Virtual User 1 会起线程进行监控其他用户状态,所有用户准备完成,user1会开始创建表。
所有表创建完成后,工具右上角的TPC-C creation会变成COMPLETE,所有用户Status会变成勾,user1的所有works是Done状态,代表Build完成。这时点击停止即可。
配置Driver Script Option
Step01:Schema Build完成后,工具就可以停止或者关闭了,后续启动直接配置Driver Script Option即可。配置好了,双击Load进行加载。
配置Virtual User并进行测试
Step01:Virtual Users数量根据线程数配置。
Step02:配置好用户数后,双击Run,就开始进行测试了。
Step03:打开2个监控,可以看到tpm和其他网络数据
完成
Others:通过查看日志,可以发现,该测试是通过很多用户,模拟创建订单、付费、插入订单数据的操作,所以算得上比较符合业务场景的测试。(具体内部流程不是很清楚,大概冲日志上可以看出)