【工具】基準測試工具之tpcc-mysql
TPC(Tracsaction Processing Performance Council) 事務處理效能協會是一個評價大型資料庫系統軟硬體效能的非盈利的組織,TPC-C是TPC協會制定的,用來測試典型的複雜OLTP系統的效能。Tpcc-mysql是percona基於tpcc衍生出來的產品,專用於mysql基準測試,其原始碼放在bazaar上,因此需要先安裝bazaar客戶端。
一 下載工具
安裝rpm包 ,根據系統的不同選擇合適的rpm
rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
安裝bzr 客戶端
yum install bzr
下載tpcc-mysql
[root@rac1 markbench]# bzr branch lp:~percona-dev/perconatools/tpcc-mysql
You have not informed bzr of your Launchpad ID, and you must do this to
write to Launchpad or access private data. See “bzr help launchpad-login”.
Branched 48 revision(s).
bzr: warning: some compiled extensions could not be loaded; see
[root@rac1 markbench]#
遇到的問題
[root@rac1 markbench]# bzr branch lp:~percona-dev/perconatools/tpcc-mysql
bzr: ERROR: Couldn`t import bzrlib and dependencies.
Please check the directory containing bzrlib is on your PYTHONPATH.
Traceback (most recent call last):
File “/usr/bin/bzr”, line 102, in
import bzrlib
ImportError: No module named bzrlib
python安裝環境,建議使用python2.6的版本,提示找不到 bzrlib 模組
解決方法:
[root@rac1 markbench]# find / -name bzrlib -print
/usr/lib64/python2.4/site-packages/bzrlib
[root@rac1 markbench]# export PYTHONPATH=/usr/lib64/python2.4/site-packages
再次下載ok.
二 編譯安裝
進入原始碼目錄
cd tpcc-mysql/src
make
[root@rac1 src]# make
cc -w -O2 -g -I. `mysql_config –include` -c load.c
cc -w -O2 -g -I. `mysql_config –include` -c support.c
cc load.o support.o `mysql_config –libs_r` -lrt -o ../tpcc_load
cc -w -O2 -g -I. `mysql_config –include` -c main.c
cc -w -O2 -g -I. `mysql_config –include` -c spt_proc.c
cc -w -O2 -g -I. `mysql_config –include` -c driver.c
cc -w -O2 -g -I. `mysql_config –include` -c sequence.c
cc -w -O2 -g -I. `mysql_config –include` -c rthist.c
cc -w -O2 -g -I. `mysql_config –include` -c neword.c
cc -w -O2 -g -I. `mysql_config –include` -c payment.c
cc -w -O2 -g -I. `mysql_config –include` -c ordstat.c
cc -w -O2 -g -I. `mysql_config –include` -c delivery.c
cc -w -O2 -g -I. `mysql_config –include` -c slev.c
cc main.o spt_proc.o driver.o support.o sequence.o rthist.o neword.o payment.o ordstat.o delivery.o slev.o `mysql_config –libs_r` -lrt -o ../tpcc_start
三 初始化測試庫環境
make命令會在tpcc-mysql目錄下生成 tpcc 命令列工具 tpcc_load ,tpcc_start
tpcc_load 提供初始化資料的功能
tpcc_start 進行壓力測試
用法:
# ./tpcc_load –help
tpcc_load [server] [DB] [user] [pass] [warehouse]
server : 伺服器名
DB : 資料庫名
user : 使用者名稱
pass : 密碼
warehouse: 倉庫的數量
# ./tpcc_start –help
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
介紹一下各個引數的用法
-h server_host: 伺服器名
-P port : 埠號,預設為3306
-d database_name: 資料庫名
-u mysql_user : 使用者名稱
-p mysql_password : 密碼
-w warehouses: 倉庫的數量
-c connections : 執行緒數,預設為1
-r warmup_time : 熱身時間,單位:s,預設為10s ,熱身是為了將資料載入到記憶體。
-l running_time: 測試時間,單位:s,預設為20s
-i report_interval 指定生成報告間隔時長
-f report_file : 測試結果輸出檔案
注意
tpcc 預設會讀取/var/lib/mysql/mysql.sock 這個socket位置,如果你的測試環境的mysql socket不在相應路徑的話,就需要做個軟連線,或者通過TCP/IP的方式連線測試伺服器。
準備工作:
mysqladmin -uroot -h127.0.0.1 create tpcc # 建立測試用的資料庫
mysql -uroot -h127.0.0.1 tpcc < create_table.sql # 建立測試用的表
mysql -uroot -h127.0.0.1 tpcc < add_fkey_idx.sql # 建立FK和索引
1 建立五個資料倉儲
./tpcc_load 127.0.0.1 tpcc root “” 5
*************************************
*** ###easy### TPC-C Data Loader ***
*************************************
[server]: 127.0.0.1
[port]: 3306
[DBname]: tpcc
[user]: root
[pass]:
[warehouse]: 5
TPCC Data Load Started…
Loading Item
………………………………………….. 5000
………………………………………….. 10000
忽略部分輸出結果
四、進行測試
#使用tpcc_start 進行5個執行緒的測試,熱身時間為120秒, 測試時間為1小時 !
[root@rac1 tpcc-mysql]# tpcc_start -hlocalhost -d tpcc -u root -p “ -w 5 -c 5 -r 120 -l 300 -f tpcc_mysql_20130331.xls
***************************************
*** ###easy### TPC-C Load Generator ***
***************************************
option h with value `localhost`
option d with value `tpcc`
option u with value `root`
option p with value “
option w with value `5`
option c with value `5`
option r with value `120`
option l with value `300`
option f with value `tpcc_mysql_20130331.xls`
[server]: localhost
[port]: 3306
[DBname]: tpcc
[user]: root
[pass]:
[warehouse]: 5
[connection]: 5
[rampup]: 120 (sec.)
[measure]: 300 (sec.)
RAMP-UP TIME.(120 sec.)
MEASURING START. —每隔10s 輸出一次結果
10, 812(1):1.509|5.419, 814(0):0.447|1.575, 81(0):0.241|0.539, 82(0):2.270|2.824, 81(0):4.571|6.648
……
290, 851(0):1.582|2.949, 849(0):0.441|0.630, 85(0):0.199|0.235, 86(0):1.937|2.000, 85(0):4.178|4.226
300, 820(0):1.451|2.321, 822(0):0.443|0.718, 82(0):0.201|0.284, 81(0):1.922|2.972, 82(0):4.409|5.245
STOPPING THREADS…..
[0] sc:25485 lt:1 rt:0 fl:0
[1] sc:25487 lt:0 rt:0 fl:0
[2] sc:2548 lt:0 rt:0 fl:0
[3] sc:2549 lt:0 rt:0 fl:0
[4] sc:2549 lt:0 rt:0 fl:0
in 300 sec.
[0] sc:25485 lt:1 rt:0 fl:0
[1] sc:25487 lt:0 rt:0 fl:0
[2] sc:2548 lt:0 rt:0 fl:0
[3] sc:2549 lt:0 rt:0 fl:0
[4] sc:2549 lt:0 rt:0 fl:0
(all must be [OK])
[transaction percentage]
Payment: 43.48% (>=43.0%) [OK]
Order-Status: 4.35% (>= 4.0%) [OK]
Delivery: 4.35% (>= 4.0%) [OK]
Stock-Level: 4.35% (>= 4.0%) [OK]
[response time (at least 90% passed)]
New-Order: 100.00% [OK]
Payment: 100.00% [OK]
Order-Status: 100.00% [OK]
Delivery: 100.00% [OK]
Stock-Level: 100.00% [OK]
5097.200 TpmC
相關文章
- 【工具】基準測試工具之sysbench
- 【工具】基準測試工具之iozone
- TPCC-MySQL基準測試MySql
- mysql效能測試工具之tpcc-mysql薦MySql
- MySQL 基準測試工具tpcc-mysql使用手冊及報告分析MySql
- MySQL基準測試工具sysbenchMySql
- 【Mysql】sysbench基準測試工具MySql
- 【工具】TPCC-MySQL 測試結果詳解MySql
- 資料庫基準測試工具 sysbench資料庫
- MySQL基準壓力測試工具MySQLSlapMySql
- [總結] 簡述 MySQL 基準測試工具MySql
- 【總結】簡述 MySQL 基準測試工具MySql
- 詳解 MySQL 基準測試和 sysbench 工具MySql
- 【Tpcc-mysql】Tpcc-mysql測試MySql
- 軟體測試工具之開源測試工具彙總
- IO測試工具之fio
- 壓力測試工具之FIO
- Nginx效能測試工具之webbenchNginxWeb
- 壓力測試工具之mysqlslapMySql
- JMH--一款由OpenJDK開發的基準測試工具JDK
- nosql redis資料庫壓力測試基準工具redis-benchmarkSQLRedis資料庫
- [測試工具]
- hadoop基準測試_Hadoop TeraSort基準測試Hadoop
- 安全測試工具之-BurpsuiteUI
- Nginx壓力測試工具之WebBenchNginxWeb
- mysql效能測試工具之sysbench薦MySql
- mysql效能測試工具之mysqlslap薦MySql
- 【工具】ORION I/O 測試工具
- MySQL基準測試MySql
- TGI 基準測試
- 介面測試工具
- 安全測試工具
- 【DNS】測試工具DNS
- 測試工具集合
- 效能測試工具
- 開發者測試-採用精準測試工具對Spring Boot應用進行測試Spring Boot
- 【星雲測試】開發者測試-採用精準測試工具對Spring Boot應用進行測試Spring Boot
- 【星雲測試】開發者測試-採用精準測試工具對SpringBoot應用進行測試Spring Boot