sysbench是開源的跨平臺(tái)多線程基準(zhǔn)測(cè)試工具,利用sysbench很容易對(duì)mysql做性能基準(zhǔn)測(cè)試,主要用于評(píng)估測(cè)試各種不同系統(tǒng)參數(shù)下的CPU、內(nèi)存、I/O和數(shù)據(jù)庫(kù)負(fù)載情況。目前sysbench主要支持 MySQL,pgsql,oracle 這3種數(shù)據(jù)庫(kù)。sysbench是一個(gè)模塊化的、跨平臺(tái)、多線程基準(zhǔn)測(cè)試工具,主要用于評(píng)估測(cè)試各種不同系統(tǒng)參數(shù)下的數(shù)據(jù)庫(kù)負(fù)載情況。
主要包括以下幾種方式的測(cè)試:
1、cpu性能
2、磁盤io性能
3、調(diào)度程序性能,互斥體性能
4、內(nèi)存分配及傳輸速度
5、POSIX線程性能
6、數(shù)據(jù)庫(kù)性能(OLTP基準(zhǔn)測(cè)試)
sysbench壓力測(cè)試工具使用:
2.1 測(cè)試數(shù)據(jù)庫(kù)服務(wù)器的硬件配置信息如下:
CPU: 24核心線程數(shù),Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz
MEM: 64G,8*8G=64G
DISK: 15000轉(zhuǎn)/秒
2.2 對(duì)磁盤IO性能的測(cè)試:
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測(cè)試
接下來(lái)開始對(duì)這些文件進(jìn)行測(cè)試,使用16個(gè)線程隨機(jī)讀進(jìn)行測(cè)試結(jié)果如下:
[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
可以看到隨機(jī)讀取的性能為75.988Mb/sec,隨機(jī)讀的IOPS為4863.25 Requests/sec.說明服務(wù)器的硬件配置還不錯(cuò)。
2.2.3 測(cè)試完成執(zhí)行cleanup
測(cè)試結(jié)束后,記得執(zhí)行cleanup,以確保測(cè)試所產(chǎn)生的文件都已刪除:
[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...
如果需要測(cè)試seqwr(順序?qū)?, seqrewr(順序讀寫), seqrd(順序讀), rndrd(隨機(jī)讀), rndwr(隨機(jī)寫), rndrw(隨機(jī)讀寫)等6種模式,并且還可能需要測(cè)試不同的線程和不同的文件塊下磁盤的性能表現(xiàn),這時(shí),可以使用如下腳本達(dá)到測(cè)試目的。