天天看點

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

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] *

解釋:

sc:即seccess,操作成功的數量。

lt:即late,指操作出現延遲的數量。

rt:即retry,指操作重試的數量。

fl:即failure,指操作失敗的數量。

我的是vmware虛機測試。

各項資料太爛也算正常。

有參考文檔:

http://blog.csdn.net/yumushui/article/details/37764467

主要是英文不太好,參考了他的參數英文解釋翻譯。

本文轉自 am2012 51CTO部落格,原文連結:http://blog.51cto.com/goome/1958328