1. 程式人生 > >tpcc-mysql   mysql基準測試工具使用文檔

tpcc-mysql   mysql基準測試工具使用文檔

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後。
再執行
不再報錯。

編譯完成後,會生成兩個文件:
技術分享

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基準測試工具使用文檔