fio-磁盤性能測試工具

作用:用於測試磁盤裸盤或文件系統的IOPS、吞吐量、時延性能指標;

centos安裝:

yum install libaio -y
yum install libaio-devel -y
yum install fio -y

常用選項:

    -name:本測試任務的名字;

    -filename:指定測試文件名或者磁盤名;

    -rw:測試模式

        randread:隨機讀

        randwrite:隨機寫

        read:順序讀

        write:順序寫

    -direct:是否使用緩存或緩衝區,1表示不使用;

    -ioengine:libaio,異步I/O;通常使用libaio一次提交一批I/O請求,等待一批的完成,減少交互的次數更有效率;

    -iodepth:使用異步 I/O(asynchronous I/O,簡稱 AIO)時,同時發出的 I/O 請求上限,最大爲128;

    -bs:表示單次I/O的塊文件大小。默認值也是4KiB;

    -size:表示測試文件大小;爲寫時需要指定,讀是不需要指定size;

    -numjobs:指定測試進程數;

    -group_reporting:當numjobs不爲1時,合併測試結果;否則每個進程會分開顯示;

    -runtime:設置測試時間;

用法示例:

# 隨機讀
fio -name=randread -filename=/dev/vdb -direct=1 -rw=randread -iodepth=128 -ioengine=libaio -bs=4k -size=1G -numjobs=1 -runtime=60 -group_reporting 

# 隨機寫
fio -name=randwrite -filename=/dev/vdb -direct=1 -rw=randread -iodepth=128 -ioengine=libaio -bs=4k -size=1G -numjobs=1 -runtime=60 -group_reporting 

# 順序讀
fio -name=read -filename=/dev/vdb -direct=1 -rw=read -iodepth=128 -ioengine=libaio -bs=4k -size=1G -numjobs=1 -runtime=60 -group_reporting 

# 順序寫
fio -name=write -filename=/dev/vdb -direct=1 -rw=write -iodepth=128 -ioengine=libaio -bs=4k -size=1G -numjobs=1 -runtime=60 -group_reporting

阿里ECS測試結果對比:高效雲盤100G、SSD100G

    SSD雲盤裸盤:

        隨機讀:IOPS -> 4800,吞吐量:18.9MiB/s

        隨機寫:IOPS -> 4800,吞吐量:18.9MiB/s

        順序讀:IOPS -> 15300,吞吐量:59.8MiB/s

        順序寫:IOPS -> 6300,吞吐量:24.9MiB/s

        注:注意MB/s和Mbps的關係,Mbps爲傳輸速率,MB爲存儲單位,1MB=8Mbps;

    高效雲盤裸盤:

        隨機讀:IOPS -> 2624,吞吐量:10.3MiB/s

        隨機寫:IOPS -> 2624,吞吐量:10.3MiB/s

        順序讀:IOPS -> 4500,吞吐量:17.6MiB/s

        順序寫:IOPS -> 3800,吞吐量:14.7MiB/s

    結論:

        1.SSD的綜合性能要高效雲盤高;

        2.不管SSD還是高效雲盤隨機讀、隨機寫的性能基本一致;

        3.順序讀寫的性能要遠超隨機讀寫;

        4.文件系統和裸盤的IOPS、吞吐量基本一致(在不使用緩存的情況下);

        5.自行測試得出的IOPS與阿里雲官網給出的結果基本一致;


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章