溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何使用tpcc-mysql對mysql進(jìn)行TPCC性能測試

發(fā)布時間:2021-11-03 10:11:10 來源:億速云 閱讀:405 作者:小新 欄目:MySQL數(shù)據(jù)庫

這篇文章主要介紹如何使用tpcc-mysql對mysql進(jìn)行TPCC性能測試,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!

tpcc-mysq是滿足TPCC規(guī)范的性能測試工具,具體步驟如下:

1、下載
從https://github.com/Percona-Lab/tpcc-mysql下載安裝包。

2、安裝
[root@D2-LZY245 ~]# unzip tpcc-mysql-master.zip
[root@D2-LZY245 ~]# cd tpcc-mysql-master/src/
[root@D2-LZY245 src]# make
[root@D2-LZY245 ~]# ll tpcc-mysql-master/tpcc_*
-rwxrwxr-x 1 root root  81114 May 19 15:12 tpcc-mysql-master/tpcc_load
-rwxrwxr-x 1 root root 188582 May 19 15:13 tpcc-mysql-master/tpcc_start
編譯完成后,就有了tpcc_load和tpcc_start這兩個腳本。tpcc_load用于初始化數(shù)據(jù),tpcc_start用于執(zhí)行基準(zhǔn)測試。

3、加載
[root@D2-LZY245 ~]# mysqladmin -uroot -p123456 create tpcc
[root@D2-LZY245 ~]# mysql -uroot -p123456 tpcc < /root/tpcc-mysql-master/create_table.sql
[root@D2-LZY245 ~]# mysql -uroot -p123456 tpcc < /root/tpcc-mysql-master/add_fkey_idx.sql
[root@D2-LZY245 ~]# cd /root/tpcc-mysql-master/
[root@D2-LZY245 tpcc-mysql-master]# ./tpcc_load -h227.0.0.1 -dtpcc -uroot -p123456 -w5
其中w表示倉庫的數(shù)量,數(shù)量越多,數(shù)據(jù)量也越大,這里只初始化了5個倉庫。在生產(chǎn)環(huán)境中建議設(shè)置至少100以上。
如果提示找不到libmysqlclient.so.20,則需要創(chuàng)建下面的軟連接:
[root@D2-LZY245 ~]# ln -s /usr/local/mysql/lib/libmysqlclient.so.20 /usr/lib64/libmysqlclient.so.20

4、測試
配置如下參數(shù):
max_connections=3000
innodb_buffer_pool_size=1G
innodb_flush_log_at_trx_commit = 1
sync_binlog=1
innodb_support_xa=1

開始測試:
[root@D2-LZY245 tpcc-mysql-master]# ./tpcc_start -h227.0.0.1 -P3306 -dtpcc -uroot -p123456 -w5 -c10 -r10 -l60 -i5
***************************************
*** ###easy### TPC-C Load Generator ***
***************************************
option h with value '127.0.0.1'
option P with value '3306'
option d with value 'tpcc'
option u with value 'root'
option p with value '123456'
option w with value '5'
option c with value '10'
option r with value '10'
option l with value '60'
option i with value '5'

     [server]: 127.0.0.1
     [port]: 3306
     [DBname]: tpcc
       [user]: root
       [pass]: 123456
  [warehouse]: 5
 [connection]: 10
     [rampup]: 10 (sec.)
    [measure]: 60 (sec.)

RAMP-UP TIME.(10 sec.)

MEASURING START.

   5, trx: 893, 95%: 42.974, 99%: 51.769, max_rt: 78.867, 897|64.315, 89|34.091, 90|108.740, 89|153.851
  10, trx: 899, 95%: 42.513, 99%: 47.764, max_rt: 56.527, 897|45.126, 90|11.137, 90|107.048, 90|151.175
  15, trx: 921, 95%: 41.732, 99%: 48.921, max_rt: 74.593, 919|61.086, 93|11.268, 91|122.762, 91|117.930
  20, trx: 905, 95%: 42.184, 99%: 47.308, max_rt: 72.272, 906|38.270, 90|10.840, 92|126.833, 91|138.162
  25, trx: 918, 95%: 42.260, 99%: 51.183, max_rt: 66.282, 914|39.754, 92|10.141, 91|126.593, 91|127.785
  30, trx: 934, 95%: 42.285, 99%: 50.212, max_rt: 56.423, 939|37.721, 93|12.561, 93|114.696, 94|133.147
  35, trx: 948, 95%: 41.532, 99%: 49.808, max_rt: 59.926, 945|35.327, 95|6.179, 95|104.323, 95|125.155
  40, trx: 949, 95%: 40.562, 99%: 46.411, max_rt: 65.310, 950|49.201, 95|7.696, 96|117.888, 94|131.387
  45, trx: 953, 95%: 40.067, 99%: 46.689, max_rt: 61.701, 955|50.164, 95|5.216, 95|110.307, 96|118.410
  50, trx: 953, 95%: 40.537, 99%: 47.864, max_rt: 87.589, 950|48.743, 95|6.670, 95|118.108, 95|138.823
  55, trx: 947, 95%: 39.995, 99%: 46.203, max_rt: 62.354, 948|41.478, 95|6.599, 94|114.913, 95|132.025
  60, trx: 986, 95%: 40.477, 99%: 45.516, max_rt: 59.243, 982|37.025, 98|8.749, 99|105.574, 99|127.634

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


  [0] sc:44 lt:11162  rt:0  fl:0 avg_rt: 32.3 (5)
  [1] sc:1734 lt:9468  rt:0  fl:0 avg_rt: 9.3 (5)
  [2] sc:1063 lt:57  rt:0  fl:0 avg_rt: 3.3 (5)
  [3] sc:690 lt:431  rt:0  fl:0 avg_rt: 90.5 (80)
  [4] sc:0 lt:1120  rt:0  fl:0 avg_rt: 114.3 (20)
 in 60 sec.


  [0] sc:44  lt:11162  rt:0  fl:0
  [1] sc:1734  lt:9469  rt:0  fl:0
  [2] sc:1063  lt:57  rt:0  fl:0
  [3] sc:690  lt:431  rt:0  fl:0
  [4] sc:0  lt:1120  rt:0  fl:0

(all must be [OK])
 [transaction percentage]
        Payment: 43.47% (>=43.0%) [OK]
   Order-Status: 4.35% (>= 4.0%) [OK]
       Delivery: 4.35% (>= 4.0%) [OK]
    Stock-Level: 4.35% (>= 4.0%) [OK]
 [response time (at least 90% passed)]
      New-Order: 0.39%  [NG] *
        Payment: 15.48%  [NG] *
   Order-Status: 94.91%  [OK]
       Delivery: 61.55%  [NG] *
    Stock-Level: 0.00%  [NG] *


                 11206.000 TpmC

其中:
-w:倉庫數(shù)量
-c:并發(fā)線程數(shù)
-r:預(yù)熱時間,以秒為單位,默認(rèn)10秒,主要目的是為了將數(shù)據(jù)加載到內(nèi)存。
-l:運行時間,以秒為單位,默認(rèn)20秒
-i:輸出時間間隔
真實測試場景中,建議預(yù)熱時間不小于5分鐘,持續(xù)壓測時長不小于30分鐘,否則測試數(shù)據(jù)可能不具參考意義。

5、結(jié)果
   5, trx: 893, 95%: 42.974, 99%: 51.769, max_rt: 78.867, 897|64.315, 89|34.091, 90|108.740, 89|153.851
5表示從測試開始到現(xiàn)在的時間為5秒。
trx: 893表示這個時間間隔完成的新訂單事物數(shù)量,實際上就是吞吐量,越大越好。
95%: 42.974表示這個時間間隔內(nèi)95%的新訂單事物響應(yīng)時間為42.974秒。
99%: 51.769表示這個時間間隔內(nèi)99%的新訂單事物響應(yīng)時間為51.769秒。
max_rt: 78.867表示這個時間間隔內(nèi)新訂單事物最大響應(yīng)時間為78.867秒。
897|64.315, 89|34.091, 90|108.740, 89|153.851這幾個表示其他種類事物的吞吐量和響應(yīng)時間,可以忽略。

  [0] sc:44 lt:11162  rt:0  fl:0 avg_rt: 32.3 (5) //表示新訂單業(yè)務(wù)成功(success,簡寫sc)次數(shù),延遲(late,簡寫lt)次數(shù),重試(retry,簡寫rt)次數(shù),失敗(failure,簡寫fl)次數(shù)。
  [1] sc:1734 lt:9468  rt:0  fl:0 avg_rt: 9.3 (5) //表示支付業(yè)務(wù)成功(success,簡寫sc)次數(shù),延遲(late,簡寫lt)次數(shù),重試(retry,簡寫rt)次數(shù),失敗(failure,簡寫fl)次數(shù)。
  [2] sc:1063 lt:57  rt:0  fl:0 avg_rt: 3.3 (5) //表示訂單狀態(tài)業(yè)務(wù)成功(success,簡寫sc)次數(shù),延遲(late,簡寫lt)次數(shù),重試(retry,簡寫rt)次數(shù),失敗(failure,簡寫fl)次數(shù)。
  [3] sc:690 lt:431  rt:0  fl:0 avg_rt: 90.5 (80)  //表示發(fā)貨業(yè)務(wù)成功(success,簡寫sc)次數(shù),延遲(late,簡寫lt)次數(shù),重試(retry,簡寫rt)次數(shù),失敗(failure,簡寫fl)次數(shù)。
  [4] sc:0 lt:1120  rt:0  fl:0 avg_rt: 114.3 (20)  //表示庫存業(yè)務(wù)成功(success,簡寫sc)次數(shù),延遲(late,簡寫lt)次數(shù),重試(retry,簡寫rt)次數(shù),失敗(failure,簡寫fl)次數(shù)。

(all must be [OK])  //下面所有的結(jié)果必須為OK
 [transaction percentage]
        Payment: 43.47% (>=43.0%) [OK]  //支付模塊占總業(yè)務(wù)的43.47%
   Order-Status: 4.35% (>= 4.0%) [OK]  //訂單狀態(tài)模塊占總業(yè)務(wù)的4.35%
       Delivery: 4.35% (>= 4.0%) [OK]  //發(fā)貨模塊占總業(yè)務(wù)的4.35%
    Stock-Level: 4.35% (>= 4.0%) [OK]  //庫存模塊占總業(yè)務(wù)的4.35%
 [response time (at least 90% passed)]  //響應(yīng)時間是否滿足
      New-Order: 0.39%  [NG] *
        Payment: 15.48%  [NG] *
   Order-Status: 94.91%  [OK]
       Delivery: 61.55%  [NG] *
    Stock-Level: 0.00%  [NG] *

指標(biāo)如下:
New-Order 5ms
Payment 5ms
Order-Status 5ms
Delivery 80ms
Stock-Level 20ms


                 11206.000 TpmC  //每分鐘能夠處理的新訂單數(shù)量。

以上是“如何使用tpcc-mysql對mysql進(jìn)行TPCC性能測試”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI