第43章 HammerDB在线事务处理测试 - xiaoboluo768/qianjinliangfang GitHub Wiki

43.1.1 下载安装包

[root@localhost~]# wget https://jaist.dl.sourceforge.net/project/hammerdb/HammerDB/ HammerDB-2.23/HammerDB-2.23-Linux-x86-64-Install

43.1.2 安装HammerDB

[root@localhost~]# chmod +x HammerDB-2.23-Linux-x86-64-Install
[root@localhost~]# ./HammerDB-2.23-Linux-x86-64-Install 

This will install HammerDB on your computer.  Continue? [n/Y] y

......

[root@localhost~]# cd /usr/local/HammerDB-2.23/
[root@localhost~]# HammerDB-2.23]# ll
......

43.1.3 安装HammerDB GUI依赖包

  • 1.配置环境变量
[root@localhost~]# HammerDB-2.23]# export MYSQL_HOME=/usr/local/mysql/
[root@localhost~]# HammerDB-2.23]# echo 'export MYSQL_HOME=/usr/local/mysql/' >>\ /etc/profile
[root@localhost~]# HammerDB-2.23]# export LD_LIBRARY_PATH=/usr/local/HammerDB\ -2.23/lib/:$MYSQL_HOME/lib
[root@localhost~]# HammerDB-2.23]# echo 'export LD_LIBRARY_PATH=/usr/local/HammerDB\ -2.23/lib/:$MYSQL_HOME/lib' >> /etc/profile
[root@localhost~]# HammerDB-2.23]# export PATH=$MYSQL_HOME/bin:$PATH
[root@localhost~]# HammerDB-2.23]# echo 'export PATH=$MYSQL_HOME/bin:$PATH' >>\ /etc/profile
[root@localhost~]# HammerDB-2.23]# yum install libXScrnSaver xorg-x11* -y
  • 2.验证环境变量
[root@localhost~]# HammerDB-2.23]# cd /usr/local/HammerDB-2.23/
[root@localhost~]# HammerDB-2.23]# ll
......

[root@localhost~]# HammerDB-2.23]# ./bin/tclsh8.6
% package require mysqltcl  # 检测环境变量
3.05  # 在这个地方如果正常输出一个版本号而无报错,则说明环境变量配置生效
% exit  # 退出交互窗口

[root@localhost~]# HammerDB-2.23]# ./bin/tclsh8.6 
% package require mysqltcl 
......

# 此时,把sysbench 1.0中的percona依赖包软链去掉就可以了
[root@localhost~]# locate libmysqlclient.so.18
......

[root@localhost~]# ll /usr/lib64/libmysqlclient.so.18 
......

[root@localhost~]# unlink /usr/lib64/libmysqlclient.so.18

[root@localhost~]# ln -s /home/mysql/program/mysql-5.6.34-linux-glibc2.5-x86_64/lib/\ libmysqlclient.so.18 /usr/lib64/libmysqlclient.so.18 
  • 3.修改配置文件
[root@localhost~]# HammerDB-2.23]# pwd
/usr/local/hammerora-2.6
[root@localhost~]# HammerDB-2.23]# cat config.xml 
<?xml version="1.0" encoding="utf-8"?>
<hammerdb>
...
<benchmark>
        <rdbms>Oracle</rdbms>
        <bm>TPC-C</bm>
</benchmark>
<oracle>
...
</oracle>
...
<mysql>
    <connection>
        <mysql_host>127.0.0.1</mysql_host>
        <mysql_port>3306</mysql_port>
    </connection>
        <tpcc>
        <schema>
            <my_count_ware>128</my_count_ware>
            <mysql_num_threads>128</mysql_num_threads>
            <mysql_user>hammerdb</mysql_user>
            <mysql_pass>hammerdb</mysql_pass>
            <mysql_dbase>tpcc</mysql_dbase>
            <storage_engine>innodb</storage_engine>
            <mysql_partition>false</mysql_partition>
        </schema>
        <driver>
            <my_total_iterations>1000000</my_total_iterations>
            <my_raiseerror>false</my_raiseerror>
            <my_keyandthink>false</my_keyandthink>
            <mysqldriver>standard</mysqldriver>
            <my_rampup>2</my_rampup>
            <my_duration>5</my_duration>
            <my_allwarehouse>false</my_allwarehouse>
            <my_timeprofile>false</my_timeprofile>
        </driver>
    </tpcc>
...
</mysql>
...
</hammerdb>

43.2 测试

  • 1.创建测试账号
mysql> grant all on tpcc.* to hammerdb@'%' identified by 'hammerdb';
Query OK, 0 rows affected, 1 warning (0.03 sec)

mysql> grant all on *.* to hammerdb@'%' identified by 'hammerdb';
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> 
  • 2.启动HammerDB
[root@localhost~]# cd /usr/local/HammerDB-2.23/
[root@localhost~]# ./hammerdb.tcl 

mysql> show processlist;
......
131 rows in set (0.00 sec)

mysql> use tpcc
......
mysql> show tables;
......
9 rows in set (0.00 sec)

# 查询表中的数据
mysql> use tpcc
Database changed
mysql> select * from warehouse limit 1 \G
......
1 row in set (0.00 sec)

# 查询表中的索引
mysql> show indexes from warehouse \G
......
1 row in set (0.00 sec)

# 查询存储过程
mysql> select routine_name from information_schema.routines where routine_schema = 'TPCC';
......
5 rows in set (0.01 sec)
  • 4.数据库压力测试
mysql> show processlist;
......
131 rows in set (0.00 sec)

上一篇:第42章 FIO存储性能压测 | 下一篇:第44章 sysbench数据库压测工具

⚠️ **GitHub.com Fallback** ⚠️