1: TPCC 模型介紹
請參考百度百科 : http://baike.baidu.com/view/2776305.htm
2: tpcc -mysql 的編譯安裝
tpcc -mysql 的源代碼下載 這裏不再介紹了. 比較麻煩.
tpcc-mysql的編譯安裝; 假設 mysql安裝在/tmp/mysql ,tpcc-mysql 源代碼在 /tmp/tpcc-mysql
->cd /tmp/tpcc-mysql/src
# 設置環境變量
->export C_INCLUDE_PATH=/tmp/mysql/include
->export PATH=/tmp/mysql/bin:$PATH
->export LD_LIBRARY_PATH=/tmp/mysql/lib:$LD_LIBRARY_PATH
# 編譯安裝
-> make
#make 之後在 /tmp/tpcc-mysql/下就會多出兩個腳本 tpcc_load , tpcc_start
3: 創建測試數據庫,並導入數據
# 創建mysql 數據庫
->mysql -uroot -h127.0.0.1
show databases;
create database tpcc_test;
show databases;
exit;
#創建表
->mysql -uroot -h127.0.0.1 tpcc_test<create_table.sql
->mysql -uroot -h127.0.0.1
use tpcc_test;
show tables;
# 創建索引
-> mysql -uroot tpcc_test < add_fkey_idx.sql
# 導入數據
-> ./tpcc_load 127.0.0.1:3306 tpcc_test root "" 1
# tpcc_test : 表命 . root :用戶名 ""密碼 1: 表示1個warehouse
# 格式: tpcc_load [server] [DB] [user] [pass] [warehouse]
4 開始壓測:
->./tpcc_start -h 127.0.0.1 -d tpcc_test -u root -w 1 -c 16 -r 10 -l 20 >>/tmp/result.txt
# 常見的壓測參數介紹
#命令格式: tpcc_start -h server_host -P port -d database_name -u mysql_user -p mysql_password -w warehouses -c connections -r warmup_time -l running_time -i report_interval -f report_file
#-w warehouses: 數據倉庫數量
#-r warmup_time :將數據加入緩存的詩句
#-c connections : 連接數
# -l running_time: 運行時間
5: 測試結果分析
主要關注參數是否達標和 tpmc 的數值
<Constraint Check> (all must be [OK])
[transaction percentage]
Payment: 41.22% (>=43.0%) [NG] *
Order-Status: 4.51% (>= 4.0%) [OK]
Delivery: 4.51% (>= 4.0%) [OK]
Stock-Level: 4.51% (>= 4.0%) [OK]
[response time (at least 90% passed)]
New-Order: 99.62% [OK]
Payment: 100.00% [OK]
Order-Status: 100.00% [OK]
Delivery: 100.00% [OK]
Stock-Level: 99.04% [OK]
<TpmC>
3132.000 TpmC
payment: 沒有達標
tpmc: 一分鐘3132.000 次事物.