標籤:mysql tpcc
mysql基準測試載入器tpcc-mysql的安裝和使用
1.tpcc-mysql介紹:
TPC(Tracsaction Processing Performance Council) 交易處理效能協會是一個評價大型資料庫系統軟硬體效能的非盈利的組織,TPC-C是TPC協會制定的,用來測試典型的複雜OLTP系統的效能。Tpcc-mysql是percona基於tpcc衍生出來的產品,專用於mysql基準測試.
2.官網地址:
https://github.com/Percona-Lab/tpcc-mysql
3.安裝方法:
官網下載源碼。
把源碼存放到需要測試mysql的伺服器上。
設定mysql路徑
我得MySQL是用源安裝的,我得路徑為:
export PATH=/usr/bin/mysql:$PATH
如果找不到mysql,執行尋找命令尋找下,尋找命令,參考如下:
find / -name mysql
進入源碼目錄
執行make
注意:我執行的時候報錯:
/bin/sh: mysql_config: 未找到命令
找不到mysql_config。
用命令檢查下:
whereis mysql_config
是沒有。
我後面檢查發現,我是沒有安裝mysql-devel,安裝mysql-devel後。
再執行
不再報錯。
編譯完成後,會產生兩個檔案:
650) this.width=650;" src="http://www.linuxtb.top/wp-content/uploads/2017/08/1-3-300x32.png" style="margin:0px;padding:0px;border:0px;vertical-align:middle;height:auto;" />
tpcc_start
tpcc_load
tpcc_load是匯入資料的指令碼
tpcc_start是執行測試的指令碼
到此安裝結束。
4.匯入資料
建議測試資料庫:
mysqladmin -uroot -p create tpcc1000
mysql -uroot -p tpcc1000 <create_table.sql
mysql -uroot -p tpcc1000<add_fkey_idx.sql
匯入資料:
./tpcc_load -h127.0.0.1 -d tpcc1000 -u root -p "123456" -w 100
建立100個倉庫並填充資料。
資料是通過load.sh指令碼載入的
我用的是虛機測試,速度好慢,整個過程持續了大約2個小時。
最後出現:
...DATA LOADING COMPLETED SUCCESSFULLY.
匯入成功。
5.執行測試
命令:
./tpcc_start -h 127.0.0.1 -p 3306 -d tpcc1000 -u root -p "123456" -w 10 -c 10 -r 100 -l 300 -i 20 -f /var/log/tpcc_mysql.log -t /var/log/tpcc_mysql.rtx
參數說明:
-w warehouse 倉庫;
-c 串連數;
-r warmup_time:指定預熱時間,以秒為單位,預設是10秒,主要目的是為了將資料載入到記憶體;
-l running_time:指定測試執行時間,以秒為單位,預設是20秒;
-i report_interval:指定生產報告的時間間隔,預設是10秒,我這裡設定了20秒;
-f report_file:將測試中各項操作的記錄輸出到指定檔案內儲存;
-t trx_file:輸出更詳細的操作資訊到指定檔案內儲存;
執行結果:
20, trx: 164, 95%: 1487.825, 99%: 1991.466, max_rt: 2246.449, 165|1743.200, 17|1277.349, 16|4179.249, 16|4035.317
詳細解釋:
20 是我上面設定的時間間隔
164 20秒內執行了164次事務
95% 事務平均回應時間為1487秒
99% 事務平均回應時間為1991秒
max_rt 事務最長回應時間為2246秒
[0] sc:1 lt:2644 rt:0 fl:0 avg_rt: 947.1 (5)
[1] sc:164 lt:2477 rt:0 fl:0 avg_rt: 209.1 (5)
[2] sc:3 lt:261 rt:0 fl:0 avg_rt: 418.6 (5)
[3] sc:0 lt:264 rt:0 fl:0 avg_rt: 1932.7 (80)
[4] sc:0 lt:265 rt:0 fl:0 avg_rt: 1226.4 (20)
in 300 sec.
[0] sc:1 lt:2644 rt:0 fl:0
[1] sc:164 lt:2477 rt:0 fl:0
[2] sc:3 lt:261 rt:0 fl:0
[3] sc:0 lt:264 rt:0 fl:0
[4] sc:0 lt:265 rt:0 fl:0
(all must be [OK])
[transaction percentage]
Payment: 43.44% (>=43.0%) [OK]
Order-Status: 4.34% (>= 4.0%) [OK]
Delivery: 4.34% (>= 4.0%) [OK]
Stock-Level: 4.36% (>= 4.0%) [OK]
[response time (at least 90% passed)]
New-Order: 0.04% [NG] *
Payment: 6.21% [NG] *
Order-Status: 1.14% [NG] *
Delivery: 0.00% [NG] *
Stock-Level: 0.00% [NG] *
529.000 TpmC
解釋:
sc:即seccess,操作成功的數量。
lt:即late,指操作出現延遲的數量。
rt:即retry,指操作重試的數量。
fl:即failure,指操作失敗的數量。
我的是vmware虛機測試。
各項資料太爛也算正常。
有參考文檔:
http://blog.csdn.net/yumushui/article/details/37764467
主要是英文不太好,參考了他的參數英文解釋翻譯。
本文出自 “gome學習” 部落格,請務必保留此出處http://goome.blog.51cto.com/4045241/1958328
tpcc-mysql mysql基準測試載入器使用文檔