sysbench是開源的跨平臺多線程基準測試工具,利用sysbench很容易對mysql做性能基準測試,主要用于評估測試各種不同系統(tǒng)參數下的CPU、內存、I/O和數據庫負載情況。目前sysbench主要支持 MySQL,pgsql,oracle 這3種數據庫。sysbench是一個模塊化的、跨平臺、多線程基準測試工具,主要用于評估測試各種不同系統(tǒng)參數下的數據庫負載情況。
主要包括以下幾種方式的測試:
1、cpu性能
2、磁盤io性能
3、調度程序性能,互斥體性能
4、內存分配及傳輸速度
5、POSIX線程性能
6、數據庫性能(OLTP基準測試)
sysbench壓力測試工具使用:
2.1 測試數據庫服務器的硬件配置信息如下:
CPU: 24核心線程數,Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz
MEM: 64G,8*8G=64G
DISK: 15000轉/秒
2.2 對磁盤IO性能的測試:
2.2.1 創(chuàng)建fileio文件
創(chuàng)建初始化fileio文件:
[root@db-master sysbench]# sysbench --test=fileio --file-num=16 --file-total-size=2G prepare
sysbench 0.4.12: multi-threaded system evaluation benchmark
16 files, 131072Kb each, 2048Mb total
Creating files for the test...
2.2.1 開始fileio測試
接下來開始對這些文件進行測試,使用16個線程隨機讀進行測試結果如下:
[root@db-master sysbench]# sysbench --test=fileio --file-total-size=2G --file-test-mode=rndrd --max-time=180 --max-requests=100000000 --num-threads=16 --init-rng=on --file-num=16 --file-extra-flags=direct --file-fsync-freq=0 --file-block-size=16384 run
可以看到隨機讀取的性能為75.988Mb/sec,隨機讀的IOPS為4863.25 Requests/sec.說明服務器的硬件配置還不錯。
2.2.3 測試完成執(zhí)行cleanup
測試結束后,記得執(zhí)行cleanup,以確保測試所產生的文件都已刪除:
[root@db-master sysbench]# sysbench --test=fileio --file-num=16 --file-total-size=2G cleanup
sysbench 0.4.12: multi-threaded system evaluation benchmark
Removing test files...
如果需要測試seqwr(順序寫), seqrewr(順序讀寫), seqrd(順序讀), rndrd(隨機讀), rndwr(隨機寫), rndrw(隨機讀寫)等6種模式,并且還可能需要測試不同的線程和不同的文件塊下磁盤的性能表現(xiàn),這時,可以使用如下腳本達到測試目的。