【工具】TPCC-MySQL 測試結果詳解

haoge0205發表於2016-11-21
TPCC-MySQL輸出結果詳解
前面的一篇文章介紹了測試工具tpcc-mysql的安裝與使用,奈何網上基本沒有對於tpcc-mysql 結果的分析,本文介紹如何對測試結果進行分析:
一 測試例子
[root@rac1 tpcc-mysql]# tpcc_start  -hlocalhost  -d tpcc  -u root  -p '' -w 5  -c  5  -r 120   -l  300 -f tpcc_mysql_20130403.xls
***************************************
*** ###easy### TPC-C Load Generator ***
***************************************
option h with value 'localhost'
option d with value 'tpcc'
option u with value 'root'
option p with value ''
option w with value '5'
option c with value '5'
option r with value '120'
option l with value '300'
option f with value 'tpcc_mysql_20130403.xls'
<Parameters>
     [server]: localhost
     [port]: 3306
     [DBname]: tpcc
       [user]: root
       [pass]: 
  [warehouse]: 5
 [connection]: 5
     [rampup]: 120 (sec.)
    [measure]: 300 (sec.)
-----以上部分可以忽略,有不懂的地方請參考前文的介紹。
RAMP-UP TIME.(120 sec.)  --熱身時間

MEASURING START.

  10, 861(0):1.544|2.791, 858(0):0.471|1.265, 86(0):0.245|0.500, 87(0):2.102|3.095, 86(0):5.127|11.375
  20, 826(0):1.419|1.681, 826(0):0.418|0.637, 83(0):0.174|0.181, 82(0):1.975|2.239, 82(0):4.447|4.848
  30, 848(0):1.463|2.296, 850(0):0.422|0.943, 85(0):0.180|0.201, 85(0):1.865|2.174, 85(0):4.267|8.545
  40, 802(0):1.518|2.436, 802(0):0.497|0.820, 80(0):0.224|0.344, 81(0):1.925|2.115, 81(0):4.373|4.886
  50, 851(0):1.678|3.510, 854(0):0.483|0.590, 85(0):0.234|0.295, 85(0):1.832|1.903, 85(0):6.480|8.878
  60, 855(0):1.457|1.889, 851(0):0.456|0.741, 85(0):0.205|0.230, 84(0):2.123|2.281, 85(0):4.648|10.951
  70, 843(0):1.474|1.752, 847(0):0.447|0.781, 85(0):0.228|0.244, 86(0):2.045|2.058, 85(0):4.357|4.808
  80, 838(0):1.471|1.737, 835(0):0.447|0.769, 84(0):0.176|0.247, 84(0):1.856|1.988, 84(0):4.054|4.336
  90, 820(0):1.499|2.230, 821(0):0.540|1.114, 82(0):0.221|0.260, 81(0):2.112|2.177, 81(0):4.485|4.582
 100, 785(0):1.504|2.217, 783(0):0.426|0.912, 78(0):0.188|0.189, 78(0):2.010|2.227, 79(0):4.280|4.862
 110, 893(0):1.449|2.576, 891(0):0.444|0.732, 89(0):0.183|0.187, 89(0):1.976|1.978, 89(0):5.972|6.259
 120, 838(0):1.482|1.818, 840(0):0.480|0.802, 84(0):0.307|0.333, 84(0):1.887|2.657, 84(0):4.079|4.105
......
 210, 832(0):1.464|2.587, 832(0):0.496|0.954, 83(0):0.246|0.371, 85(0):2.055|3.083, 84(0):6.794|10.487
 220, 825(0):1.493|1.906, 829(0):0.479|0.864, 83(0):0.258|0.294, 83(0):1.891|2.111, 83(0):4.154|8.172
 230, 810(0):1.512|2.304, 810(0):0.478|0.605, 80(0):0.207|0.226, 78(0):1.965|2.032, 81(0):4.192|4.499
 240, 879(0):1.489|1.889, 873(0):0.477|1.096, 89(0):0.196|0.199, 89(0):1.985|2.005, 88(0):6.170|6.262
 250, 859(0):1.388|1.772, 859(0):0.417|0.689, 86(0):0.260|0.278, 86(0):1.787|1.833, 86(0):4.062|5.333
 260, 789(0):1.517|2.585, 793(0):0.523|0.764, 78(0):0.211|0.343, 78(0):1.683|1.721, 79(0):4.182|9.561
 270, 821(0):1.463|2.214, 818(0):0.415|0.653, 83(0):0.236|0.243, 83(0):1.739|2.034, 81(0):4.482|5.035
 280, 748(0):1.519|2.312, 752(0):0.463|0.892, 74(0):0.185|0.316, 76(0):1.818|2.107, 75(0):4.247|4.303
 290, 834(0):1.514|2.821, 833(0):0.440|0.687, 84(0):0.278|0.287, 82(0):1.947|2.096, 83(0):4.184|4.466
 300, 793(0):1.583|2.225, 793(0):0.474|0.860, 79(0):0.193|0.200, 80(0):2.006|2.111, 80(0):4.433|4.553

STOPPING THREADS.....

<Raw Results>
  [0] sc:24839  lt:0  rt:0  fl:0 
  [1] sc:24839  lt:0  rt:0  fl:0 
  [2] sc:2484  lt:0  rt:0  fl:0 
  [3] sc:2485  lt:0  rt:0  fl:0 
  [4] sc:2484  lt:0  rt:0  fl:0 
 in 300 sec.

<Raw Results2(sum ver.)>
  [0] sc:24839  lt:0  rt:0  fl:0 
  [1] sc:24839  lt:0  rt:0  fl:0 
  [2] sc:2484  lt:0  rt:0  fl:0 
  [3] sc:2485  lt:0  rt:0  fl:0 
  [4] sc:2484  lt:0  rt:0  fl:0 

<Constraint Check> (all must be [OK])
 [transaction percentage]
        Payment: 43.48% (>=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: 100.00%  [OK]
        Payment: 100.00%  [OK]
   Order-Status: 100.00%  [OK]
       Delivery: 100.00%  [OK]
    Stock-Level: 100.00%  [OK]

<TpmC>
                 4967.800 TpmC
結果分析:                 
TPCC-MySQL輸出結果包括五個業務邏輯,這五個業務邏輯構成了TPCC-MySQL測試的整個事務處理過程。
具體如下所示:
New-Order       :新訂單
Payment         :支付
Order-Status    :訂單查詢
Delivery        :發貨
Stock-Level     :庫存

預定義變數:
為了能夠清晰的說明以下內容,首先定義一些變數,便於以下的計算和說明。具體如下所示:
success = 執行成功的記錄數
late = 執行延遲的記錄數
pre_success=上一次執行成功的記錄數
pre_late =  上一次執行失敗的記錄數

late定義:
根據不同的業務,late的定義也不同,五種業務邏輯分別對操作延遲定義的界限值如下所示:
New-Order       5ms
Payment         5ms
Order-Status    5ms
Delivery        80ms
Stock-Level     20ms

計算:
   根據以上定義的變數,計算相應欄位的結果和說明相應欄位的含義。
1、時間間隔內成功的事務(包括成功和延遲的事務)  :sl=success+late-pre_success-pre_late
2、時間間隔內延遲的事務                        :l=late-pre_late
3、時間間隔內前90%記錄(實際為99%)的平均 rt     :rt90
4、時間間隔內最大的rt                          :max_rt

例項分析:
根據輸出結果,根據以上計算和說明內容,對未說明的部分分析如下:
Count     New-Order           Payment        Order-Status         Delivery        Stock-Level
     sl(l):rt90|max_rt  sl(l):rt90|max_rt  sl(l):rt90|max_rt  sl(l):rt90|max_rt  sl(l):rt90|max_rt
 #,      #(#):#|#,          #(#):#|#,          #(#):#|#,          #(#):#|#,          #(#):#|#
 
 10, 861(0):1.544|2.791, 858(0):0.471|1.265, 86(0):0.245|0.500, 87(0):2.102|3.095, 86(0):5.127|11.375

上述結果標明 新訂單 時間間隔內成功的事務數861個,延遲事務0個,90%的rt 小於1.54ms  最高的rt 2.791ms 
             支付     成功的事務數858個,延遲事務0個,90%的rt是在0.471ms 最高的rt在1.265ms
             訂單查詢 成功的事務數86個,延遲事務0個,  90%的rt是在0.245ms 最高的rt在0.500ms
             發貨     成功的事務數87個,延遲事務0個,90%的rt是在2.102ms 最高的rt在3.095ms
             庫存     成功的事務數86個,延遲事務0個,90%的rt是在5.127ms 最高的rt在11.375ms
通常對mysql進行測試的同時,我們也要對整個伺服器(一般是磁碟iops)進行資訊統計收集,做出圖表以便後期的分析。             
參考:
1、TPCC-MySQL原始碼
注 tpcc-mysql 結果分析部分感謝 子諒 同學 提供。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28939273/viewspace-2128820/,如需轉載,請註明出處,否則將追究法律責任。

相關文章