签到成功

知道了

CNDBA社区CNDBA社区

MySQL-TPCC 部署与使用 操作示例

2024-07-04 14:00 632 0 原创 MySQL
作者: dave

1 安装

[dave@www.cndba.cn src]# yum install -y gcc mysql-devel
[dave@www.cndba.cn src]# wget https://codeload.github.com/Percona-Lab/tpcc-mysql/zip/refs/heads/master
[dave@www.cndba.cn src]# unzip master
[dave@www.cndba.cn src]# cd tpcc-mysql-master/src
[dave@www.cndba.cn src]# make

注意,make 如果报错:http://www.cndba.cn/dave/article/131562

[dave@www.cndba.cn src]# make
cc -w -O3 -g -I. `mysql_config --include`  -c load.c
load.c:19:19: fatal error: mysql.h: No such file or directory
 #include <mysql.h>

需要修改Makefile 文件后在编译:

有多个 mysql 的环境下,需要先查找mysql_confighttp://www.cndba.cn/dave/article/131562

[dave@www.cndba.cn src]#  locate mysql_config
/data/mysql/3308/mysql-8.0.38-linux-glibc2.17-x86_64/bin/mysql_config
/data/mysql/3308/mysql-8.0.38-linux-glibc2.17-x86_64/bin/mysql_config_editor
/data/mysql/3308/mysql-8.0.38-linux-glibc2.17-x86_64/man/man1/mysql_config.1
/data/mysql/3308/mysql-8.0.38-linux-glibc2.17-x86_64/man/man1/mysql_config_editor.1
/data/mysql/3309/mysql-8.0.38-linux-glibc2.17-x86_64/bin/mysql_config
/data/mysql/3309/mysql-8.0.38-linux-glibc2.17-x86_64/bin/mysql_config_editor
/data/mysql/3309/mysql-8.0.38-linux-glibc2.17-x86_64/man/man1/mysql_config.1
/data/mysql/3309/mysql-8.0.38-linux-glibc2.17-x86_64/man/man1/mysql_config_editor.1
/etc/alternatives/mysql_config

修改Makefile:指定具体的mysql_config路径,在编译就没有问题了:http://www.cndba.cn/dave/article/131562

[dave@www.cndba.cn src]# cat Makefile 
#
# "make all" to build necessary executables.
#



LIBS=           `/data/mysql/3308/mysql-8.0.38-linux-glibc2.17-x86_64/bin/mysql_config --libs_r` -lrt     <-- 修改

INC=            -I. `/data/mysql/3308/mysql-8.0.38-linux-glibc2.17-x86_64/bin/mysql_config --include`   <-- 修改

#DEFS=          -DDEBUG

CFLAGS=         -w -O3 -g

TRANSACTIONS=   neword.o payment.o ordstat.o delivery.o slev.o
OBJS=           main.o spt_proc.o driver.o support.o sequence.o rthist.o sb_percentile.o $(TRANSACTIONS)

.SUFFIXES:
.SUFFIXES: .o .c

.c.o:
        $(CC) $(CFLAGS) $(INC) $(DEFS) -c $*.c

all: ../tpcc_load ../tpcc_start

../tpcc_load : load.o support.o
        $(CC) load.o support.o $(LIBS) -o ../tpcc_load

../tpcc_start : $(OBJS)
        $(CC) $(OBJS) $(LIBS) -o ../tpcc_start

clean :
        rm -f *.o
[dave@www.cndba.cn src]# 

[dave@www.cndba.cn src]# make
cc load.o support.o `/data/mysql/3308/mysql-8.0.38-linux-glibc2.17-x86_64/bin/mysql_config --libs_r` -lrt  -o ../tpcc_load
cc -w -O3 -g -I. `/data/mysql/3308/mysql-8.0.38-linux-glibc2.17-x86_64/bin/mysql_config --include`   -c main.c
cc -w -O3 -g -I. `/data/mysql/3308/mysql-8.0.38-linux-glibc2.17-x86_64/bin/mysql_config --include`   -c spt_proc.c
cc -w -O3 -g -I. `/data/mysql/3308/mysql-8.0.38-linux-glibc2.17-x86_64/bin/mysql_config --include`   -c driver.c
cc -w -O3 -g -I. `/data/mysql/3308/mysql-8.0.38-linux-glibc2.17-x86_64/bin/mysql_config --include`   -c sequence.c
cc -w -O3 -g -I. `/data/mysql/3308/mysql-8.0.38-linux-glibc2.17-x86_64/bin/mysql_config --include`   -c rthist.c
cc -w -O3 -g -I. `/data/mysql/3308/mysql-8.0.38-linux-glibc2.17-x86_64/bin/mysql_config --include`   -c sb_percentile.c
cc -w -O3 -g -I. `/data/mysql/3308/mysql-8.0.38-linux-glibc2.17-x86_64/bin/mysql_config --include`   -c neword.c
cc -w -O3 -g -I. `/data/mysql/3308/mysql-8.0.38-linux-glibc2.17-x86_64/bin/mysql_config --include`   -c payment.c
cc -w -O3 -g -I. `/data/mysql/3308/mysql-8.0.38-linux-glibc2.17-x86_64/bin/mysql_config --include`   -c ordstat.c
cc -w -O3 -g -I. `/data/mysql/3308/mysql-8.0.38-linux-glibc2.17-x86_64/bin/mysql_config --include`   -c delivery.c
cc -w -O3 -g -I. `/data/mysql/3308/mysql-8.0.38-linux-glibc2.17-x86_64/bin/mysql_config --include`   -c slev.c
cc main.o spt_proc.o driver.o support.o sequence.o rthist.o sb_percentile.o neword.o payment.o ordstat.o delivery.o slev.o `/data/mysql/3308/mysql-8.0.38-linux-glibc2.17-x86_64/bin/mysql_config --libs_r` -lrt  -o ../tpcc_start
[dave@www.cndba.cn src]#

2 测试

创建相关表:http://www.cndba.cn/dave/article/131562http://www.cndba.cn/dave/article/131562

mysql> create database tpcc;
mysql> use tpcc;
mysql> source /data/software/tpcc-mysql-master/create_table.sql
mysql> source /data/software/tpcc-mysql-master/add_fkey_idx.sql

加载数据:

[dave@www.cndba.cn tpcc-mysql-master]# pwd
/data/software/tpcc-mysql-master
[dave@www.cndba.cn tpcc-mysql-master]# ./tpcc_load -h 192.168.1.1 -u cndba -p 'cndba' -P 3308 -d tpcc -w 5
*************************************
*** TPCC-mysql Data Loader        ***
*************************************
option h with value '192.168.1.1'
option u with value 'cndba'
option p with value 'cndba'
option P with value '3308'
option d with value 'tpcc'
option w with value '5'
<Parameters>
     [server]: 192.168.1.1
     [port]: 3308
     [DBname]: tpcc
       [user]: cndba
       [pass]: cndba
  [warehouse]: 5
TPCC Data Load Started...
Loading Item

相关选项说明:http://www.cndba.cn/dave/article/131562http://www.cndba.cn/dave/article/131562

-h:测试主机
-d:测试的数据库
-u:测试的用户
-p:测试用户的密码
-w:测试的warehouse数
-c:测试的连接线程数
-r:预热时间,warmup_time,以秒为单位,默认是10秒,目的是为了将数据加载到内存
-l:测试时间,默认为20秒
-i:report_interval指定生成报告的间隔时间
-f:report_file将测试中各项操作的记录输出到指定文件内保存
-t:trx_file输出更详细的操作信息到指定文件内保存http://www.cndba.cn/dave/article/131562http://www.cndba.cn/dave/article/131562http://www.cndba.cn/dave/article/131562

开始测试:

[dave@www.cndba.cn tpcc-mysql-master]# ./tpcc_start -h 192.168.1.1 -u cndba -p 'cndba' -P 3308 -d tpcc -w 5 -c 10 -r 10 -l 20 -f /tmp/tpcc_mysql.log -t /tmp/tpcc_mysql.rtx
***************************************
*** ###easy### TPC-C Load Generator ***
***************************************
option h with value '192.168.1.1'
option u with value 'cndba'
option p with value 'cndba'
option P with value '3308'
option d with value 'tpcc'
option w with value '5'
option c with value '10'
option r with value '10'
option l with value '20'
option f with value '/tmp/tpcc_mysql.log'
option t with value '/tmp/tpcc_mysql.rtx'
<Parameters>
     [server]: 192.168.1.1
     [port]: 3308
     [DBname]: tpcc
       [user]: cndba
       [pass]: cndba
  [warehouse]: 5
 [connection]: 10
     [rampup]: 10 (sec.)
    [measure]: 20 (sec.)

RAMP-UP TIME.(10 sec.)

MEASURING START.

  10, trx: 4203, 95%: 18.136, 99%: 24.953, max_rt: 41.666, 4204|36.503, 420|9.378, 419|69.147, 420|47.795
  20, trx: 4210, 95%: 17.760, 99%: 23.616, max_rt: 112.853, 4207|101.769, 421|4.391, 421|134.613, 421|49.489

STOPPING THREADS..........

<Raw Results>
  [0] sc:0 lt:8416  rt:0  fl:0 avg_rt: 17.8 (5)
  [1] sc:6288 lt:2124  rt:0  fl:0 avg_rt: 7.1 (5)
  [2] sc:841 lt:0  rt:0  fl:0 avg_rt: 1.6 (5)
  [3] sc:837 lt:3  rt:0  fl:0 avg_rt: 55.7 (80)
  [4] sc:0 lt:841  rt:0  fl:0 avg_rt: 49.2 (20)
 in 20 sec.

<Raw Results2(sum ver.)>
  [0] sc:0  lt:8416  rt:0  fl:0 
  [1] sc:6289  lt:2124  rt:0  fl:0 
  [2] sc:841  lt:0  rt:0  fl:0 
  [3] sc:837  lt:3  rt:0  fl:0 
  [4] sc:0  lt:841  rt:0  fl:0 

<Constraint Check> (all must be [OK])
 [transaction percentage]
        Payment: 43.47% (>=43.0%) [OK]
   Order-Status: 4.35% (>= 4.0%) [OK]
       Delivery: 4.34% (>= 4.0%) [OK]
    Stock-Level: 4.35% (>= 4.0%) [OK]
 [response time (at least 90% passed)]
      New-Order: 0.00%  [NG] *
        Payment: 74.75%  [NG] *
   Order-Status: 100.00%  [OK]
       Delivery: 99.64%  [OK]
    Stock-Level: 0.00%  [NG] *

<TpmC>
                 25248.000 TpmC
[dave@www.cndba.cn tpcc-mysql-master]#

版权声明:本文为博主原创文章,未经博主允许不得转载。

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
dave

dave

关注

人的一生应该是这样度过的:当他回首往事的时候,他不会因为虚度年华而悔恨,也不会因为碌碌无为而羞耻;这样,在临死的时候,他就能够说:“我的整个生命和全部精力,都已经献给世界上最壮丽的事业....."

  • 2261
    原创
  • 3
    翻译
  • 578
    转载
  • 191
    评论
  • 访问:7966047次
  • 积分:4346
  • 等级:核心会员
  • 排名:第1名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by CNDBA · 皖ICP备2022006297号-1·

        QQ交流群

        注册联系QQ