压力测试之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        --输出更详细的操作信息到指定的文件中
原文地址:https://www.cnblogs.com/polestar/p/5638815.html