MySQL效能測試--Sysbench實踐
Sysbench
- 業界較為出名的效能測試工具
- 可以測試磁碟,CPU,資料庫
- 支援多種資料庫:Oracle,DB2,MYSQL
- 需要自己下載編譯安裝
- 建議版本:sysbench0.5
sysbench,不僅用來測試資料庫的效能,也可以測試回合資料庫的伺服器的效能。 強烈建議熟悉sysbench測試,在mysql使用者的工具包中,這應該是最有用的工具之一。
- sysbench 的cpu基準測試
- sysbench 的檔案I/O基準測試
- sysbench 的OLTP基準測試
sysbench 其他的基準測試,但和資料庫效能沒有直接關係。
- 記憶體-----測試記憶體的連續讀寫效能
- 線程-----測試線程調度器的效能。
- 互斥鎖---測試互斥鎖效能。
- 順序寫---測試順序寫的效能。
問題:
- 表結構單一
- 沒有相關約束和索引
- 測試的SQL語句相對簡單
使用方法 1.下載sysbench
git clone https://github.com/akopytov/sysbench 目錄結構root@itcast01:/home/aiapple/sysbench# lsautogen.sh configure.ac install-sh missing README-WIN.txtChangeLog COPYING m4 mkinstalldirs sysbenchconfig doc Makefile.am README.md TODO
2. 編譯&安裝
./autogen.sh./configure --prefix=/home/sysbenchmakemake install
3. sysbench流程
- 初始化資料(prepare)
- 運行測試(run)
- 清理資料(cleanup)
a)初始化資料prepare:
sysbench --test=parallel_prepare.lua --oltp_tables_count=1 --rand-init=on --oltp-table-size=500000000 --mysql-host=127.0.0.1 --mysql-port=3306 --mysql-user=sys --mysql-password=netease --mysql-db=sbtest --max-requests=0 prepare
sysbench表結構
b)運行測試--run
sysbench --test=oltp.lua --oltp_tables_count=1 --num-threads=100 --oltp-table-size=500000000 --oltp-read-only=off --report-interval=10 --rand-type=uniform --mysql-host=127.0.0.1 --mysql-port=3306 --mysql-user=sys --mysql-password=netease --mysql-db=sbtest --max-time=1000 --max-requests=0 run
特殊情況
資料解讀運行資料[10s]--------------已耗用時間點Threads:100------100個線程數tps:378.90---------每秒執行378.9個事務reads:-------------讀請求數writes:------------寫請求數response time:--回應時間errors:-------------錯誤個數reconnects:-------重新串連個數 資料匯總關注
c)清理資料(cleanup)
- 手動drop表和database
- 使用sysbench提供的cleanup命令
使用sysbench清理資料
sysbench --test=parallel_prepare.lua --oltp_tables_count=1 --rand-init=on --oltp-table-size=500000000 --mysql-host=127.0.0.1 --mysql-port=3306 --mysql-user=sys --mysql-password=netease --mysql-db=sbtest --max-requests=0 cleanup
本文永久更新連結地址: