FIO參數中,ioengine使用libaio,並發jobs數固定為1,通過iodepth來控制壓力。
分別測試隨機讀、隨機寫,作為讀寫的性能基准。不測試順序讀寫,不測試混合讀寫。
1、測試IOPS峰值: iodepth=128, 塊大小4k。
隨機讀: ./fio -direct=1 -iodepth=128 -rw=randwrite -ioengine=libaio -bs=4k -size=5G -numjobs=1 -runtime=300 -group_reporting -name=/var/1/testfile
隨機寫: ./fio -direct=1 -iodepth=128 -rw=randread -ioengine=libaio -bs=4k -size=5G -numjobs=1 -runtime=300 -group_reporting -name=/var/1/testfile
2、測試吞吐量(bw)峰值: iodepth=64,塊大小1024k。
隨機讀: ./fio -direct=1 -iodepth=64 -rw=randread -ioengine=libaio -bs=1024k -size=5G -numjobs=1 -runtime=300 -group_reporting -name=/var/1/testfile
隨機寫: ./fio -direct=1 -iodepth=64 -rw=randwrite -ioengine=libaio -bs=1024k -size=5G -numjobs=1 -runtime=300 -group_reporting -name=/var/1/testfile
3、測試響應時延(lat): iodepth=1,塊大小4k。測試延遲時,iops一般保持在1k以上,bw在4MB/s以上,實際使用時lat和讀寫壓力大小密切相關。
隨機讀: ./fio -direct=1 -iodepth=1 -rw=randread -ioengine=libaio -bs=4k -size=5G -numjobs=1 -runtime=300 -group_reporting -name=/var/1/testfile
隨機寫: ./fio -direct=1 -iodepth=1 -rw=randwrite -ioengine=libaio -bs=4k -size=5G -numjobs=1 -runtime=300 -group_reporting -name=/var/1/testfile