压力测试之TCPP

时间:2023-03-09 09:52:56
压力测试之TCPP

1.下载源码 tpcc-mysql-src.tgz

2.解压 tpcc-mysql-src.tgz

3.安装

[root@DBMysql mysql]# cd /home/mysql/tpcc-mysql/src
[root@DBMysql src]# export PATH=/usr/local/mysql/bin:$PATH
[root@DBMysql src]# make
cc -w -O2 -g -I. `mysql_config --include` -c load.c
cc -w -O2 -g -I. `mysql_config --include` -c support.c
cc load.o support.o `mysql_config --libs_r` -lrt -o ../tpcc_load
cc -w -O2 -g -I. `mysql_config --include` -c main.c
cc -w -O2 -g -I. `mysql_config --include` -c spt_proc.c
cc -w -O2 -g -I. `mysql_config --include` -c driver.c
cc -w -O2 -g -I. `mysql_config --include` -c sequence.c
cc -w -O2 -g -I. `mysql_config --include` -c rthist.c
cc -w -O2 -g -I. `mysql_config --include` -c neword.c
cc -w -O2 -g -I. `mysql_config --include` -c payment.c
cc -w -O2 -g -I. `mysql_config --include` -c ordstat.c
cc -w -O2 -g -I. `mysql_config --include` -c delivery.c
cc -w -O2 -g -I. `mysql_config --include` -c slev.c
cc main.o spt_proc.o driver.o support.o sequence.o rthist.o neword.o payment.o ordstat.o delivery.o slev.o `mysql_config --libs_r` -lrt -o ../tpcc_start
[root@DBMysql src]#

4.创建数据库导入预定脚本

[mysql@DBMysql tpcc-mysql]$ mysqladmin --defaults-file=/data/mysqldata/my.cnf -uroot -p123456 -P3306 -h192.168.0.45 create tpcc
Warning: Using a password on the command line interface can be insecure.
[mysql@DBMysql tpcc-mysql]$ mysql --defaults-file=/data/mysqldata/my.cnf -uroot -p123456 -P3306 -h192.168.0.45
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
| tpcc |
+--------------------+
mysql> 导入预定脚本:
mysql> use tpcc
Database changed
mysql> show variables like '%storage_engine%';
+----------------------------+--------+
| Variable_name | Value |
+----------------------------+--------+
| default_storage_engine | InnoDB |
| default_tmp_storage_engine | InnoDB |
| storage_engine | InnoDB |
+----------------------------+--------+
3 rows in set (0.10 sec) mysql> source /home/mysql/tpcc-mysql/create_table.sql #注意脚本的执行权限
mysql> source /home/mysql/tpcc-mysql/add_fkey_idx.sql

5.初始化数据(不用指定端口号)

[mysql@DBMysql tpcc-mysql]$ ./tpcc_load 192.168.0.45 tpcc root 123456 10
*************************************
*** ###easy### TPC-C Data Loader ***
*************************************
<Parameters>
[server]: 192.168.0.45
[port]: 3306
[DBname]: tpcc
[user]: root
[pass]: 123456
[warehouse]: 10
TPCC Data Load Started...
Loading Item
.................................................. 5000
.................................................. 10000
.................................................. 15000
.................................................. 20000
很长很长世间
Orders Done.
Loading Orders for D=10, W= 10
.......... 1000
.......... 2000
.......... 3000
Orders Done. ...DATA LOADING COMPLETED SUCCESSFULLY.
[mysql@DBMysql tpcc-mysql]$

6.进行测试

[mysql@DBMysql tpcc-mysql]$ ./tpcc_start --help
***************************************
*** ###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
[mysql@DBMysql tpcc-mysql]$ ./tpcc_start -h 192.168.0.45 -P 3306 -d tpcc -u root -p 123456 -w 10 -c 10 -r 100 -l 300 -f /home/mysql/tpcc-mysql.log -t /home/mysql/tpcc_mysql.rtx --参数介绍
-w warehouses     --仓库数量
-c connections    --连接数量
-r warmup_time    --指定预热时间,默认10秒,主要目的是将数据加载到内存
-l running_time   --指定测试执行时间
-i report_interval --指定生成报告的间隔时间
-f report_file     --将测试中各项操作的记录输出到指定的文件中
-t trx_file        --输出更详细的操作信息到指定的文件中