使用HammerDB测试MySQL主从复制

1.      启动HammerDB

在程序目录下,双击批处理文件HammerDB,弹出HammerDB的窗口。

图-1 HammerDB

 

2.      主服务器创建待测试数据库及账号

命令如下:

[root@localhost ~]# mysql -uroot -p

Enter password:

mysql> create database tpcc;

Query OK, 1 row affected (0.02 sec)

 

mysql> grant all on tpcc.* to 'tpcc'@'%' identified by 'tpcc'; 

Query OK, 0 rows affected (0.06 sec)

 

mysql> flush privileges;

Query OK, 0 rows affected (0.02 sec)

3.      主服务器测试数据生成

  1. 双击左侧MySQL

图-2 选择MySQL

https://ask.qcloudimg.com/http-save/yehe-1408287/3b8iygvw1d.jpeg?imageView2/2/w/1620

 

  1. 在弹出的窗口中,选择MySQLTPC-C,如下图。

图-3 选择MySQLTPC-C

https://ask.qcloudimg.com/http-save/yehe-1408287/ya64hdm58t.png?imageView2/2/w/1620

 

  1. 切换基准测试数据库类型之后,依次展开[TPC-C/Schema Build],并双击Options

图-4 Options

https://ask.qcloudimg.com/http-save/yehe-1408287/gd3bmsd37t.jpeg?imageView2/2/w/1620

 

  1. 在弹出的窗口中,配置好相关的参数,如下图。

图-5 配置参数

 

  • Hostmysql虚拟机的IP地址。

  • Database为创建的测试数据库。

  • User/Password为创建的MySQL用户。

 

  1. 双击如下图所示的“build”,开始创建基准测试数据库。

图-6 创建基准测试数据库

 

  1. 然后可以看到如下输出信息。

下面123456…这个输出行的Status列不能出现红叉,如果有则表示发生了报错,当worker完成后,监视线程会创建索引、存储过程并收集统计信息。虚拟用户1将显示信息“TPCC SCHEMA COMPLETE”字样,其他所有虚拟用户将显示已成功完成其操作的字样,如果没有看到,则说发生了错误。可以在最下方的文本输出框查看报错信息。

 

图-7 输出信息

https://ask.qcloudimg.com/http-save/yehe-1408287/xeupumjr9o.jpeg?imageView2/2/w/1620

 

  1. 造数完成之后,可以看到“TPCC SCHEMA COMPLETE”字样,如下图。

图-8 TPCC SCHEMA COMPLETE

https://ask.qcloudimg.com/http-save/yehe-1408287/acrkqy5gpg.jpeg?imageView2/2/w/1620

 

  1. 创建1000wavehouse预计要3-4小时才能完成。

4.      HammerDB测试脚本设置

前面已经按照tpc-c模型(oltp模型)创建好了测试库tpcc,现在基于tpcc库进行oltp测试。

  1. 造数完成之后,单击<Destroy Virtual Users>按钮停止造数的进程。

图-9 Destroy Virtual Users

https://ask.qcloudimg.com/http-save/yehe-1408287/8ivn2bdxp6.jpeg?imageView2/2/w/1620

 

  1. 双击左侧列表中的“Driver Script”。

图-10 Driver Script

 

  1. 选择的是定时长的驱动程序脚本,预热时长2分钟,测试时长5min,如下图配置。

图-11 时长配置

 

  1. 双击左侧菜单“Virtual User”下的“Load”,载入标准测试驱动程序脚本。

图-12 Load

 

5.      HammerDB测试执行

  1. 创建虚拟用户。

虚拟用户有一个主用户,用于收集其他虚拟用户的统计值和返回状态,主用户包含在你指定的用户数量之内,因此,如果你希望有16个用户(16个并发连接数),那么,你需要创建17个用户,如下图,双击“Virtual User”下的“Options”,弹出如下窗口。

 

图-13 创建虚拟用户

 

根据测试情况看,当用户数量等于CPU核数+1时,性能数据最好,例如虚拟机CPU16核,用户数量可以设置为17

  1. 双击“Virtual User”下的“Create”按钮,创建虚拟用户(准备要并发连接线程,注意此时数据库中并未真正创建连接)

图-14 Create

 

  1. 双击左侧“Virtual User”下的“Run”,开始执行基准测试此时,需要查看tpm的值,可以单击如下图所示的按钮。

图-15 Run

 

  1. 在如下图所示的窗口中,等待几十秒即可看到数值,之后就可以看到曲线图,通过曲线图可以更直观地发现性能抖动问题。

图-16 性能曲线图

 

  1. 等待测试结束后,在virtual user output界面可以查看到本次的测试结果。

图-17 测试结果