tpc:
全稱<code>transaction processing performance council</code> (事務處理性能委員會),是一家非盈利性組織,該組織制定各種商業應用的基準測試規範,任意廠商和個人,都可以按照其規範來開發自己的應用程式。
tpc-c:
是由 tpc 推出的一套基準測試程式,主要用于聯機事務類應用的測試,最後的字母 c 是序号,因為在他之前有 tpc-a 和 tpc-b。使用的比較多的是 tpc-c,因為 tpcc 是套基準。
tpc-c 是專門針對聯機交易處理系統(oltp 系統)的規範,一般情況下我們也把這類系統稱為業務處理系統
tpc-c 使用三種性能和價格度量,其中性能由 tpmc(transactions per minute,tpm)衡量,cpm)衡量,c 指 tpc 中的 c 基準程式。它的定義是每分鐘内系統處理的新訂單個數。tpc-c 還經常以系統性能價格比的方式展現,機關是$/tpmc,即以系統的總價格(機關是美元)/tpmc 數值得出
tpcc-mysql:
由 percona 基于 tpcc 規範開發的一套 mysql 基準測試程式。
測試名額:
tpc-c 測試的結果主要有兩個名額,即流量名額(throughput,簡稱 tpmc)。
流量名額(throughput,簡稱 tpmc):按照 tpc 組織的定義,流量名額描述了系統在執行支付操作、訂單狀态查詢、發貨和庫存狀态查詢這 4 種交易的同時,每分鐘可以處理多少個新訂單交易。所有交易的響應時間必須滿足 tpc-c 測試規範的要求,且各種交易數量所占的比例也應該滿足 tpc-c 測試規範的要求。在這種情況下,流量名額值越大說明系統的聯機事務處理能力越高。
下載下傳完成後,目前目錄下會有 tpcc-mysql 目錄
如果沒有報錯,tpcc-mysql 就安裝完成了。
安裝完成後會生成兩個可執行檔案:
<code>tpcc_load</code>:用于初始化資料。
<code>tpcc_start</code>:用于執行基準測試。
一般分為下面 4 個步驟:
建立資料和表結構
加載資料
執行測試
測試結果解讀分析
建立庫:
建立表結構:
建立索引:
表的介紹:
先看看 tpcc_load 的用法吧
參數含義:
server:資料庫 ip
db:資料庫名稱
user:使用者名
pass:密碼
warehouse:倉庫數量
執行下面的指令開始初始化資料:(倉庫數我選擇了 10 個)
初始化成功最後會輸出:
-w warehouses :倉庫數量
-c connections:并發線程數
-r warmup_time:指定預熱時間,以秒為機關,預設是 10 秒,主要目的是為了将資料加載到記憶體。
-l running_time:指定測試執行的時間,以秒為機關,預設是 20 秒。
-i report_interval:指定生成報告的間隔時間。
-f report_file:将測試中各項操作的記錄輸出到指定檔案内儲存。
-t trx_file:輸出更詳細的操作資訊到指定檔案内儲存。
執行下面的指令:
真實測試場景中,建議預熱時間不小于 5 分鐘,持續壓測時長不小于 30 分鐘,否則測試資料可能不具參考意義。
輸出結果如下:
output
第一部分:
這類資訊,每 10 秒産生一條輸出,傳回結果以逗号分隔後,共可以分為 6 列,
第一項:每 10 秒為一個區間進行輸出。後面 5 項分屬不同的業務操作,輸出資訊格式都一樣。每一項都有 4 個屬性值,即該時間區間内成功執行的事務、出現延遲的事務、90%事務的響應時間、事務的最大響應時間。
例如第一條的解釋:
在第一個 10 秒區間内:
建立訂單:共操作 918 次,失敗 0 次,90%的事務平均操作時間 0.846 秒,最大操作時間是 1.053 秒。
訂單支付:同上
查詢訂單:同上
發貨:同上
查詢庫存:同上
第二部分:
第三部分:
tpcc 測試要求下面狀态必須為 ok
第四部分:
tpm 是 <code>transactions per minute</code>的縮寫,c 指的是執行 tpc-c 基準測試。
tpmc 這項名額為整體性能名額,表示每分鐘事務數,代表了本系統每分鐘能夠處理的訂單數量。
該值是第一次統計結果中的新訂單事務數除以總耗時分鐘數,例如本例中是 26028/5 = 5205.6
(圖形展示,嘗試了好久失敗了,果然爛尾)
參考連結:http://www.unixfbi.com/380.html#3
個性簽名:時間會解決一切