第43章 HammerDB在线事务处理测试 - xiaoboluo768/qianjinliangfang GitHub Wiki
[root@localhost~]# wget https://jaist.dl.sourceforge.net/project/hammerdb/HammerDB/ HammerDB-2.23/HammerDB-2.23-Linux-x86-64-Install
[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
......
- 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>
- 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数据库压测工具