mysql fio测试_Linux下 fio磁盘压测笔记
專業的測試磁盤IO性能的軟件:
1、fio 【推薦使用】
2、iometer
fio的使用:
參考博客: http://lilinji.blog.51cto.com/5441000/1569623
https://linux.die.net/man/1/fio
http://elf8848.iteye.com/blog/2168876 ? 【講的比較好】
注意,我先使用yum安裝的fio,測試時候報錯,建議使用最新版的fio工具編譯安裝。方法如下:
yum install libaio libaio-devel ? 需要先安裝2個包
新版的 fio-2.1.4 源碼包下載 http://brick.kernel.dk/snaps/
tar xf fio-2.1.4.tar.gz
cd fio-2.1.4
./configure
make ?即可在當前目錄下生成fio可執行文件。
fio的幾個參數:
filename=/bdata/test.big 測試文件名稱,通常選擇需要測試的盤所在的目錄。
direct=1 測試過程繞過機器自帶的buffer。使測試結果更真實。
rw=randwrite 測試隨機寫的I/O
rw=randrw 測試隨機寫和讀的I/O
bs=4k 單次io的塊文件大小為4k
size=2g 本次的測試文件大小為2g,以每次4k的io進行測試。
numjobs=64 本次的測試線程為64. ? 【建議設置為CPU的CORE數量一致】
runtime=20 測試時間為20秒,如果不寫則一直將2g文件分4k每次寫完為止。
ioengine=psync io引擎使用pync方式 ,此外還有libaio 異步方式。
rwmixwrite=30 在混合讀寫的模式下,寫占30%
group_reporting 關于顯示結果的,匯總每個進程的信息。
sync=1 設置異步io
fsync=1 一個io就同步數據
幫助命令:
fio --help
fio --cmdhelp 等等
# 準備個2GB的測試用的文件
dd if=/dev/zero of=/bdata/test.big bs=4k count=524288 ? ?# 通常在需要測試的那個磁盤下面生成一個這種測試用的大文件
測試隨機讀寫:
fio --filename=/bdata/test.big -iodepth=64 -ioengine=libaio -direct=1 -rw=randwrite -bs=4k -size=2G -numjobs=64 -runtime=20-group_reporting -name=test-rand-write
測試順序讀取:
fio --filename=/bdata/test.big -iodepth=64 -ioengine=libaio --direct=1 --rw=read --bs=1m --size=2g --numjobs=4 --runtime=10 --group_reporting --name=test-read
測試順序寫性能
fio --filename=/bdata/test.big -iodepth=64 -ioengine=libaio -direct=1 -rw=write -bs=1m -size=2g -numjobs=4 -runtime=20 -group_reporting -name=test-write
測試隨機讀:
fio --filename=/root/test -iodepth=64 -ioengine=libaio -direct=1 -rw=randread -bs=4k -size=2G -numjobs=64 -runtime=20 -group_reporting -name=test-rand-read
測試隨機寫:
fio --filename=/root/test -iodepth=64 -ioengine=libaio -direct=1 -rw=randwrite -bs=4k -size=2G -numjobs=64 -runtime=20-group_reporting -name=test-rand-write
采用同步IO的隨機寫:
fio --filename=/root/rndwrite -iodepth=64 -ioengine=psync -direct=1 -rw=randwrite -bs=4k -size=2G -numjobs=32 -runtime=20 -group_reporting -name=test-rand-write
其他:
# 4k,100%讀寫:
fio --filename=/dev/sdx --direct=1 --rw=randrw --refill_buffers --norandommap --randrepeat=0 --ioengine=libaio --bs=4k --rwmixread=100 --iodepth=16 --numjobs=16 --runtime=60 --group_reporting --name=4ktest
# 8k,70%讀取,30%寫入:
fio --filename=/dev/sdx --direct=1 --rw=randrw --refill_buffers --norandommap --randrepeat=0 --ioengine=libaio --bs=8k --rwmixread=70 --iodepth=16 --numjobs=16 --runtime=60 --group_reporting --name=8k7030test
在阿里云SSD測試時候,使用libaio方式能達到較高的IOPS,使用psync的話,IOPS下降的很嚴重。從網上其他測試數據來看,異步的libaio比同步的psync方式性能高15倍左右。
附帶一個MySQL DELL物理機的測試情況:
1 aio異步模式隨機寫入5G數據
測試命令:
fio --filename=/root/rndwrite -iodepth=64-ioengine=libaio -direct=1 -rw=randwrite -bs=4k -size=5G -numjobs=64-runtime=20 -group_reporting -name=test-rand-write
Samsung SSD 750 EVO 500GB盤為例,測試截圖
2 psync同步模式隨機寫入5G數據
測試命令:
fio --filename=/root/rndwrite -iodepth=64-ioengine=psync -direct=1 -rw=randwrite -bs=4k -size=5G -numjobs=64 -runtime=20-group_reporting -name=test-rand-write
10.0.36.4?Samsung SSD 750 EVO 500GB盤為例,測試截圖
總結
以上是生活随笔為你收集整理的mysql fio测试_Linux下 fio磁盘压测笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql引擎模式_mysql引擎,完整
- 下一篇: linux cmake编译源码,linu