sysbench1.0.6 初學
什么是sysbench
sysbench是一個模塊化的、跨平台、多線程基准測試工具,主要用於評估測試各種不同系統參數下的數據庫負載情況。目前項目放在https://github.com/akopytov/sysbench下,由於我在學習的時候在網上找到的攻略都是0.5甚至之前的版本,所以寫下這篇,記錄一下,目前sysbench的最新版本是1.0.6
安裝方式請參照git,根據自己的操作系統來安裝,還是相當方便
這篇文章目前只記錄下了測試mysql的相關記錄
如何進行測試
1.0.6版本,sysbench舍棄了--test參數,0.5版本如果希望測試數據庫信息,需要使用--test=oltp參數,但是1.0.6版本后不再使用oltp,轉為使用oltp*.lua腳本。本人的電腦是mac, 在/usr/local/Cellar/sysbench/1.0.6/share/sysbench路徑下有很多oltp腳本可供使用,滿足基本的測試需求。
使用的基本命令
sysbench [options]... [testname] [command]
首先給出一條本人實際測試使用的語句:
sysbench oltp_read_write.lua --mysql-host=127.0.0.1 --mysql-port=3306 --mysql-db=test --mysql-user=root --mysql-password=root --table_size=5000000 --tables=10 --threads=300 --time=60 --report-interval=10
不着急來理解這句話的意思,接下來先介紹一下參數,同樣的,目前我只能介紹一些mysql相關的參數
參數介紹
--mysql-host | IP |
--mysql-port | 端口號 |
--mysql-db | 希望鏈接的數據庫 |
--mysql-user | 用戶名 |
--mysql-password | 密碼 |
--table_size | 每張表初始化的數據數量 |
--tables | 初始化表的數量 |
--threads | 啟動的線程 |
--time | 運行時間 |
--report-interval | 運行期間日志,單位為秒 |
prepare用於准備測試需要的數據,准備完后執行run來測試,測試完成后不要忘記執行cleanup來清楚測試數據
測試結果
[ 10s ] thds: 30 tps: 238.20 qps: 4792.68 (r/w/o: 3358.75/954.52/479.41) lat (ms,95%): 356.70 err/s: 0.00 reconn/s: 0.00
[ 20s ] thds: 30 tps: 199.33 qps: 4008.60 (r/w/o: 2808.22/801.72/398.66) lat (ms,95%): 427.07 err/s: 0.00 reconn/s: 0.00
[ 30s ] thds: 30 tps: 222.18 qps: 4432.67 (r/w/o: 3101.77/886.53/444.37) lat (ms,95%): 411.96 err/s: 0.00 reconn/s: 0.00
[ 40s ] thds: 30 tps: 217.66 qps: 4351.35 (r/w/o: 3047.18/868.85/435.33) lat (ms,95%): 434.83 err/s: 0.00 reconn/s: 0.00
[ 50s ] thds: 30 tps: 235.88 qps: 4720.63 (r/w/o: 3304.44/944.43/471.76) lat (ms,95%): 397.39 err/s: 0.00 reconn/s: 0.00
[ 60s ] thds: 30 tps: 255.40 qps: 5107.68 (r/w/o: 3575.68/1021.50/510.50) lat (ms,95%): 427.07 err/s: 0.00 reconn/s: 0.00
SQL statistics:
queries performed:
read: 192010
write: 54860
other: 27430
total: 274300
transactions: 13715 (228.31 per sec.)
queries: 274300 (4566.27 per sec.)
ignored errors: 0 (0.00 per sec.)
reconnects: 0 (0.00 per sec.)
General statistics:
total time: 60.0694s
total number of events: 13715
Latency (ms):
min: 3.85
avg: 131.30
max: 1023.83
95th percentile: 397.39
sum: 1800773.83
Threads fairness:
events (avg/stddev): 457.1667/6.22
execution time (avg/stddev): 60.0258/0.02
上面[10s]之類的表示間隔時間的日志,SQL statistics表示總的測試結果