tpcc压测MySQL数据库
tpcc压测MySQL数据库
tpcc压测MySQL数据库实例步骤
1.上传 tpcc-mysql.tar.gz包
2.安装依赖包
yum install gcc-c++ gcc -y
3.解压安装包
tar xf tpcc-mysql.tar.gz
4.进入指定目录编译
cd tpcc-mysql/src/
make
5.进入上一层目录查看是否生成tpcc_load和tpcc_start两个文件
6.在压测之前创建tcpp数据库
create database tpcc10;
7.查看安装手册README
[[email protected] tpcc-mysql]# cat README
-
Build binaries
- cd scr ; make ##进入src目录编译
( you should have mysql_config available in $PATH)
- cd scr ; make ##进入src目录编译
-
Load data
- create database ##创建数据库
mysqladmin create tpcc1000 - create tables
mysql tpcc1000 < create_table.sql ##导入现有的建表文件来创建表 - create indexes and FK ( this step can be done after loading data) ##可以在导入数据之后创建索引
mysql tpcc1000 < add_fkey_idx.sql - populate data
- simple step
tpcc_load 127.0.0.1:33000 tpcc1000 root “” 1000 ##加载表数据
|hostname:port| |dbname| |user| |password| |WAREHOUSES|
ref. tpcc_load --help for all options - load data in parallel ##并行加载
check load.sh script ##查看load.sh脚本
- simple step
- create database ##创建数据库
-
start benchmark
- ./tpcc_start -h127.0.0.1 -P33000 -dtpcc1000 -uroot -w1000 -c32 -r10 -l10800
|hostname(主机名)| |port(端口号)| |dbname(数据库名)| |user(用户)| |WAREHOUSES(仓库数量)| |CONNECTIONS(模拟并行窗口数量)| |WARMUP TIME(预热时间)| |BENCHMARK TIME(压测持续时间)| - ref. tpcc_start --help for all options
- ./tpcc_start -h127.0.0.1 -P33000 -dtpcc1000 -uroot -w1000 -c32 -r10 -l10800
8.根据README接下来进行导入现有的建表文件来创建表
mysql -uroot -p123 tpcc10 <create_table.sql
检查数据库是否生成相应的表9.创建索引
mysql -uroot -p123 tpcc10 < add_fkey_idx.sql
检查索引是否创建成功
show create table customer; 查看是否有主键等索引
10.加载数据
需要在 tpcc-mysql目录下操作
./tpcc_load localhost:3306 tpcc1000 root 123 1011.压测./tpcc_start -h127.0.0.1 -P3306 -dtpcc10 -uroot -p123 -w10 -r10 -l10000
拓展:
[[email protected] tpcc-mysql]# ./tpcc_start --help ##./tpcc_start的其他选项
*** ###easy### TPC-C Load Generator ***
./tpcc_start: invalid option – ‘-’
Usage: tpcc_start -h server_host -P port -d database_name -u mysql_user -p mysql_password -w warehouses -c connections -r warmup_time -l running_time -i report_interval -f report_file(指定到文件) -t trx_file(事务文件)
12.show processlist;可以看到很多进程对表操作13.去zabbix监控端查看