tpcc-mysql介绍
TPC(Tracsaction Processing Performance Council) 事务处理性能协会是一个评价大型数据库系统软硬件性能的非盈利的组织,TPC-C是TPC协会制定的,用来测试典型的复杂OLTP系统的性能。Tpcc-mysql是percona基于tpcc衍生出来的产品,专用于mysql基准测试.
安装与使用
官网地址:https://github.com/Percona-Lab/tpcc-mysql
实验环境:阿里云轻量应用服务器
步骤:
1)下载源代码
git clone https://github.com/Percona-Lab/tpcc-mysql.git
2)编译
在编译之前需要安装mysql和mysql编译时链接的库
sudo apt-get install mysql-server
sudo apt-get install mysql-client
sudo apt-get install libmysqlclient-dev
cd tpcc-mysql/src
make
编译完成后会生成两个可执行文件,tpcc_load是导入数据的脚本,tpcc_start是执行测试的脚本.
3) 加载数据
• 创建数据库 mysqladmin -u root -p passwd create tpcc1000
• 创建表 mysql tpcc1000 < create_table.sql
• 创建相关索引和主外键(这一步也可以在加载数据之后完成) mysql tpcc1000 < add_fkey_idx.sql
• 填充数据
○ 简单的步骤是 ./tpcc_load -h127.0.0.1 -d tpcc1000 -u root -p passwd -w 100 ,可以通过tpcc_load --help 查看所有的选项,最后一个参数是仓库的个数,例如创建100个仓库(warehouse)并填充数据
○ 加载数据比较慢(20分钟),可用loah.sh 脚本并行加载,后面有写
显示一下创建的表:
$mysql -uroot -p -e “show tables from TPCC”
±-------------------+
| Tables_in_tpcctest |
±-------------------+
| customer |
| district |
| history |
| item |
| new_orders |
| order_line |
| orders |
| stock |
| warehouse |
±-------------------+
4)开始基准测
• ./tpcc_start -h 127.0.0.1 -p 3306 -d tpcc1000 -u root -p “123123” -w 100 -c 10 -r 100 -l 300 -i 20 -f /var/log/tpcc_mysql.log -t /var/log/tpcc_mysql.rtx
• |hostname| |port| |dbname| |user| |WAREHOUSES| |CONNECTIONS| |WARMUP TIME| |BENCHMARK TIME|
• pcc_start --help 查看所有选项
参数说明:
-w warehouse 仓库;
-c 连接数;
-r warmup_time:指定预热时间,以秒为单位,默认是10秒,主要目的是为了将数据加载到内存;
-l running_time:指定测试执行时间,以秒为单位,默认是20秒;
-i report_interval:指定生产报告的时间间隔,默认是10秒,我这里设置了20秒;
-f report_file:将测试中各项操作的记录输出到指定文件内保存;
-t trx_file:输出更详细的操作信息到指定文件内保存;