官網下載地址:

http://imysql.com/wp-content/uploads/2014/09/tpcc-mysql-src.tgz

1.用bzr客戶端下載軟體包

[root@tong1 ~]# yum install bzr -y

[root@tong1 ~]# bzr branch lp:~percona-dev/perconatools/tpcc-mysql

[root@tong1 ~]# cd tpcc-mysql/src/

[root@tong1 src]# make

[root@tong1 src]# cd ..
[root@tong1 tpcc-mysql]# ll
total 252
-rw-r–r–. 1 root root   1621 Apr 23 11:24 add_fkey_idx.sql
-rw-r–r–. 1 root root    317 Apr 23 11:24 count.sql
-rw-r–r–. 1 root root   3105 Apr 23 11:24 create_table.sql
-rw-r–r–. 1 root root    763 Apr 23 11:24 drop_cons.sql
-rw-r–r–. 1 root root    477 Apr 23 11:24 load.sh
-rw-r–r–. 1 root root    851 Apr 23 11:24 README
drwxr-xr-x. 2 root root   4096 Apr 23 11:24 schema2
drwxr-xr-x. 5 root root   4096 Apr 23 11:24 scripts
drwxr-xr-x. 2 root root   4096 Apr 23 11:25 src
-rwxr-xr-x. 1 root root  61191 Apr 23 11:25 tpcc_load        –make後生成的命令
-rwxr-xr-x. 1 root root 155886 Apr 23 11:25 tpcc_start       –make後生成的命令

[root@tong1 tpcc-mysql]# 

2.建立資料庫匯入表結構

[root@tong1 tpcc-mysql]# mysqladmin  create tpcc;
[root@tong1 tpcc-mysql]# mysql tpcc < create_table.sql
[root@tong1 tpcc-mysql]#

3.載入測試資料(tpcc_load)

[root@tong1 tpcc-mysql]# ./tpcc_load  –help
*************************************
*** ###easy### TPC-C Data Loader  ***
*************************************

 usage: tpcc_load [server] [DB] [user] [pass] [warehouse]
      OR
        tpcc_load [server] [DB] [user] [pass] [warehouse] [part] [min_wh] [max_wh]

           * [part]: 1=ITEMS 2=WAREHOUSE 3=CUSTOMER 4=ORDERS
[root@tong1 tpcc-mysql]# ./tpcc_load  localhost tpcc root “” 100   –機械硬體倉庫數不能少於100個,ssd硬體不能少於1000個

4.壓力測試資料(tpcc_start)

[root@tong1 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

-h      –mysql的主機

-P      –服務的埠

-d      –測試的資料庫

-u      –使用者名稱

-p      –密碼

-w      –倉庫個數

-c      –連線數

-r      –測試前熱身的時間

-l      –測試執行的時間

-i      –生成報告時間

-f      –指定生成報告檔案

[root@tong1 tpcc-mysql]# ./tpcc_start  -h localhost -P 3306 -d tpcc -u root -p “” -w 100 -c 100 -r 120 -l 360 -f 123.log >> tpcc-mysql.log 2>&1

[root@tong1 tpcc-mysql]# cat tpcc-mysql.log
***************************************
*** ###easy### TPC-C Load Generator ***
***************************************
option h with value `localhost`
option P with value `3306`
option d with value `tpcc`
option u with value `root`
option p with value “
option w with value `100`
option c with value `100`
option r with value `120`
option l with value `360`
option f with value `123.log`
<Parameters>
     [server]: localhost
     [port]: 3306
     [DBname]: tpcc
       [user]: root
       [pass]:
  [warehouse]: 100
 [connection]: 100
     [rampup]: 120 (sec.)
    [measure]: 360 (sec.)

RAMP-UP TIME.(120 sec.)          –預熱時間120S

MEASURING START.           –每10S收集的資訊

  10, 27(0):1.191|1.236, 27(0):0.341|0.433, 6(0):0.180|0.188, 2(0):1.567|1.570, 0(0):3.804|3.933
  20, 46(0):1.417|1.501, 26(0):0.348|0.357, 2(0):0.171|0.175, 5(0):1.417|1.477, 1(0):0.000|4.351
  30, 16(0):1.358|1.508, 19(0):0.398|0.681, 3(0):0.183|0.229, 2(0):1.310|1.429, 2(0):5.050|5.904
  40, 9(0):1.348|1.438, 18(0):0.322|0.334, 0(0):0.000|0.000, 2(0):1.228|1.284, 3(0):5.657|6.583
  50, 56(0):1.463|1.465, 27(0):0.310|0.393, 2(0):0.082|0.151, 5(0):1.451|1.555, 0(0):0.000|0.000
  60, 16(0):1.223|1.237, 25(0):0.324|0.352, 5(0):0.161|0.163, 2(0):1.253|1.432, 1(0):0.000|5.627
  70, 25(0):1.177|1.368, 31(0):0.324|0.348, 2(0):0.156|0.170, 1(0):0.000|1.342, 3(0):5.473|6.178
  80, 31(0):1.374|1.394, 15(0):0.275|0.284, 2(0):0.111|0.153, 3(0):1.345|1.431, 2(0):5.026|5.289
  90, 15(0):1.220|1.229, 34(0):0.291|0.310, 5(0):0.167|0.180, 1(0):0.000|1.396, 4(0):5.004|5.702
 100, 21(0):1.372|1.410, 27(0):0.313|0.509, 1(0):0.000|0.107, 2(0):1.487|1.524, 3(0):5.687|5.866
 110, 29(0):1.401|1.438, 18(0):0.367|0.422, 1(0):0.000|0.118, 5(0):1.411|1.437, 0(0):0.000|0.000
 120, 44(0):1.354|1.444, 30(0):0.320|0.329, 1(0):0.000|0.170, 2(0):1.380|1.459, 2(0):5.083|5.109
 130, 20(0):1.432|1.458, 15(0):0.299|0.318, 6(0):0.176|0.177, 3(0):1.483|1.517, 6(0):5.519|5.721
 140, 3(0):0.848|0.957, 37(0):0.437|0.531, 0(0):0.000|0.000, 0(0):0.000|0.000, 0(0):0.000|0.000
 150, 21(0):1.337|1.394, 13(0):0.291|0.326, 3(0):0.149|0.158, 4(0):1.492|1.493, 3(0):5.839|6.008
 160, 47(0):1.419|1.427, 39(0):0.355|0.378, 1(0):0.000|0.157, 3(0):1.381|1.453, 4(0):5.484|5.749
 170, 4(0):1.214|1.393, 15(0):0.287|0.305, 6(0):0.186|0.210, 1(0):0.000|1.306, 4(0):5.174|5.803
 180, 40(0):1.304|1.399, 21(0):0.343|0.369, 1(0):0.000|0.133, 3(0):1.325|1.438, 2(0):3.857|4.854
 190, 28(0):1.366|1.755, 36(0):0.358|0.367, 0(0):0.000|0.000, 5(0):1.388|1.412, 1(0):0.000|5.540
 200, 30(0):1.393|1.711, 26(0):0.311|0.328, 6(0):0.173|0.199, 1(0):0.000|1.414, 3(0):5.008|5.151
 210, 19(0):1.213|1.376, 30(0):0.387|0.389, 1(0):0.000|0.106, 0(0):0.000|0.000, 5(0):4.882|5.416
 220, 45(0):1.420|1.563, 27(0):0.329|0.368, 4(0):0.164|0.167, 1(0):0.000|1.420, 1(0):0.000|2.990
 230, 32(0):1.513|1.654, 19(0):0.330|0.339, 1(0):0.000|0.157, 4(0):1.399|1.427, 5(0):5.612|5.668
 240, 42(0):1.344|1.556, 42(0):0.328|0.428, 6(0):0.175|0.179, 2(0):1.417|1.454, 2(0):3.330|5.057
 250, 15(0):1.476|1.486, 25(0):0.324|0.345, 3(0):0.175|0.186, 5(0):1.427|1.511, 4(0):5.543|5.985
 260, 14(0):1.331|1.346, 30(0):0.360|0.364, 0(0):0.000|0.000, 2(0):1.375|1.599, 1(0):0.000|5.458
 270, 19(0):1.302|1.371, 24(0):0.299|0.331, 5(0):0.170|0.186, 6(0):1.563|1.570, 2(0):5.232|5.413
 280, 25(0):1.413|1.532, 19(0):0.268|0.276, 3(0):0.108|0.118, 1(0):0.000|1.393, 6(0):5.310|5.910
 290, 69(0):1.511|1.522, 30(0):0.369|0.407, 0(0):0.000|0.000, 2(0):1.313|1.314, 5(0):5.994|6.222
 300, 12(0):0.896|1.564, 33(0):0.359|0.383, 4(0):0.172|0.184, 3(0):1.406|1.561, 1(0):0.000|5.595
 310, 49(0):1.521|1.921, 39(0):0.390|0.443, 3(0):0.132|0.168, 6(0):1.592|1.648, 3(0):5.782|5.803
 320, 22(0):1.630|1.695, 39(0):0.326|0.414, 0(0):0.000|0.000, 0(0):0.000|0.000, 2(0):5.164|6.518
 330, 7(0):1.399|1.561, 12(0):0.291|0.328, 7(0):0.161|0.186, 0(0):0.000|0.000, 1(0):0.000|4.457
 340, 54(0):1.430|1.526, 32(0):0.336|0.355, 0(0):0.000|0.000, 2(0):1.403|1.482, 3(0):6.415|6.459
 350, 4(0):0.637|0.652, 16(0):0.372|0.776, 5(0):0.168|0.171, 5(0):1.427|1.478, 1(0):0.000|3.920
 360, 37(0):1.392|1.422, 30(0):0.383|0.449, 2(0):0.139|0.172, 5(0):1.599|1.612, 0(0):0.000|0.000

STOPPING THREADS……………………………………………………………………………………….

<Raw Results>
  [0] sc:993  lt:0  rt:0  fl:0
  [1] sc:946  lt:0  rt:0  fl:0
  [2] sc:97  lt:0  rt:0  fl:0
  [3] sc:96  lt:0  rt:0  fl:0
  [4] sc:86  lt:0  rt:0  fl:0
 in 360 sec.

<Raw Results2(sum ver.)>
  [0] sc:993  lt:0  rt:0  fl:0     –新訂單業務成功(success簡寫sc)次數,延遲(late簡寫lt)次數,重試(retry簡寫rt)次數,失敗(failure簡寫fl)次數

  [1] sc:953  lt:0  rt:0  fl:0     –支付業務統計

  [2] sc:97  lt:0  rt:0  fl:0      –訂單狀態業務統計
  [3] sc:96  lt:0  rt:0  fl:0      –發貨業務統計
  [4] sc:86  lt:0  rt:0  fl:0      –庫存業務統計

<Constraint Check> (all must be [OK])         –以下必須全部是OK狀態
 [transaction percentage]
        Payment: 42.65% (>=43.0%) [NG] *      –支付成功率次數
   Order-Status: 4.37% (>= 4.0%) [OK]         –訂單狀態
       Delivery: 4.33% (>= 4.0%) [OK]         –發貸
    Stock-Level: 3.88% (>= 4.0%) [NG] *       –庫存
 [response time (at least 90% passed)]        –響應時間必須超過90%才行
      New-Order: 100.00%  [OK]       

        Payment: 100.00%  [OK]       

       Delivery: 100.00%  [OK]       
    Stock-Level: 100.00%  [OK]       

<TpmC>
                 165.500 TpmC     –最終結果,每分鐘事物數
[root@tong1 tpcc-mysql]#

5.sql指令碼說明

[root@tong1 tpcc-mysql]# ll *.sql
-rw-r–r–. 1 root root 1621 Apr 23 11:24 add_fkey_idx.sql    –給建立新增外來鍵和索引
-rw-r–r–. 1 root root  317 Apr 23 11:24 count.sql           –統計各表中有多少行資料
-rw-r–r–. 1 root root 3105 Apr 23 11:24 create_table.sql    –建立測試表
-rw-r–r–. 1 root root  763 Apr 23 11:24 drop_cons.sql       –刪除外來鍵約束
[root@tong1 tpcc-mysql]# 

6.shell指令碼說明

[root@tong1 tpcc-mysql]# cd scripts/
[root@tong1 scripts]# ll *.sh
-rw-r–r–. 1 root root 2044 Apr 23 11:24 anal.full.sh
-rw-r–r–. 1 root root  114 Apr 23 11:24 analyze_checkpoint.sh
-rw-r–r–. 1 root root  162 Apr 23 11:24 analyze_checkpoint_xtradb1.sh
-rw-r–r–. 1 root root   85 Apr 23 11:24 analyze_checkpoint_xtradb.sh
-rw-r–r–. 1 root root  297 Apr 23 11:24 analyze_dirty.sh
-rw-r–r–. 1 root root  155 Apr 23 11:24 analyze_evicted.sh
-rw-r–r–. 1 root root   97 Apr 23 11:24 analyze_flushed_innodb.sh
-rw-r–r–. 1 root root  154 Apr 23 11:24 analyze_flushed.sh
-rw-r–r–. 1 root root  258 Apr 23 11:24 analyze_min.sh
-rw-r–r–. 1 root root  103 Apr 23 11:24 analyze_modified.sh
-rw-r–r–. 1 root root  452 Apr 23 11:24 analyzeR.sh
-rw-r–r–. 1 root root  363 Apr 23 11:24 analyze.sh
-rwxr-xr-x. 1 root root  101 Apr 23 11:24 flashcache_stat.sh
-rwxr-xr-x. 1 root root  116 Apr 23 11:24 innodb_stat.sh
-rw-r–r–. 1 root root 1766 Apr 23 11:24 run_no_backup.sh
-rw-r–r–. 1 root root 1363 Apr 23 11:24 run.sh
-rw-r–r–. 1 root root 2876 Apr 23 11:24 runX.sh
-rwxr-xr-x. 1 root root  167 Apr 23 11:24 virident_stat.sh
[root@tong1 scripts]#