本文介紹如何在Linux/Windows系統中使用FIO工具對檔案系統進行吞吐和IOPS的效能測試。
前提條件
您已經建立了待測試的檔案系統,並將檔案系統掛載到ECS執行個體上。具體操作,請參見快速入門。
背景資訊
本文樣本的績效參數,均為Linux/Windows系統下採用FIO工具的測試結果,以此作為Apsara File Storage NAS產品效能指標參考。如果想達到Apsara File Storage NAS的官網效能指標 ,建議使用多台ECS進行測試。Apsara File Storage NAS的官網效能指標,請參見Apsara File Storage NAS。
注意事項
效能測試前,請注意以下事項。
吞吐最大不會超過ECS內網頻寬,如果內網頻寬太小,則吞吐會被流量控制。
例如,您購買的是最低容量的通用容量型NAS檔案系統,其初始讀吞吐為150 MB/s。如果您的ECS內網頻寬為100 Mbps,則吞吐最大可達12.5 MB/s,如果要測試達到150 MB/s,則需要至少12台ECS進行測試。 如果您的ECS內網頻寬為1 Gbps,則吞吐最大可達到125 MB/s,如果要測試達到150 MB/s,則需要至少2台ECS進行測試。
在Linux作業系統中,NFS用戶端對於同時發起的NFS請求數量進行了控制,預設編譯的核心中此參數值為2,嚴重影響效能。請在安裝NFS用戶端後,修改同時發起的NFS請求數量,提高NFS效能。具體操作,請參見如何修改同時發起的NFS請求數量?。
在Windows作業系統中,測試NFS協議NAS檔案系統效能會受限於Windows NFS用戶端串列執行單個檔案系統的請求,請調整
-numjobs參數增加FIO測試檔案數量。
操作步驟
遠端連線ECS執行個體。具體操作,請參見ECS串連方式。
安裝FIO測試載入器。如果已安裝,請跳過此步驟,直接運行效能測試命令。
Linux作業系統
作業系統
安裝命令
CentOS
sudo yum install fioRedhat
Alibaba Cloud Linux
Ubuntu
依次執行以下安裝命令:
sudo apt-get updatesudo apt-get install fio
Debian
Windows作業系統
您可以下載msi格式的安裝包進行安裝。FIO安裝包下載地址,請參見fio官網。
運行效能測試命令,具體的命令請參見下文。
關於在Linux系統下的測試命令,請參見Linux系統下的效能測試命令。
關於在Windows系統下的測試命令,請參見Windows系統下的效能測試。
Linux系統下的效能測試命令
本節以通用容量型NAS為例,在單台Linux ECS中執行以下命令測試效能。
隨機讀IOPS:
fio -numjobs=1 -iodepth=128 -direct=1 -ioengine=libaio -sync=1 -rw=randread -bs=4K -size=1G -time_based -runtime=60 -name=Fio -directory=/mnt測試結果範例:
Fio_168690241742: (g=0): rw=randread, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iodepth=128 fio-3.7 Starting 1 process Fio_168690241742: Laying out IO file (1 file / 1024MiB) Fio_168690241742: (groupid=0, jobs=1): err= 0: pid=24515: Fri Jun 16 16:01:21 2023 read: IOPS=15.1k, BW=59.1MiB/s (61.0MB/s)(3562MiB/60258msec) slat (usec): min=2, max=142291, avg= 5.22, stdev=149.03 clat (usec): min=607, max=4629.5k, avg=8451.38, stdev=19797.83 lat (usec): min=650, max=4629.5k, avg=8456.67, stdev=19798.32 lat percentiles (usec): | 1.00th=[ 758], 5.00th=[ 816], 10.00th=[ 857], 20.00th=[ 938], | 30.00th=[ 1037], 40.00th=[ 1172], 50.00th=[ 1352], 60.00th=[ 1680], | 70.00th=[ 3163], 80.00th=[ 17957], 90.00th=[ 20055], 95.00th=[ 22414], | 99.00th=[ 83362], 99.50th=[ 92799], 99.90th=[175113], 99.95th=[278922], | 99.99th=[517997] bw ( KiB/s): min=58584, max=169104, per=100.00%, avg=60776.15, stdev=10028.08, samples=120 iops : min=14646, max=42276, avg=15193.99, stdev=2507.02, samples=120 lat (usec) : 750=0.88%, 1000=25.93% lat (msec) : 2=38.35%, 4=5.66%, 10=1.74%, 20=17.00%, 50=8.61% lat (msec) : 100=1.48%, 250=0.29%, 500=0.07%, 750=0.01%, 1000=0.01% cpu : usr=2.86%, sys=11.57%, ctx=525042, majf=0, minf=160 IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=0.1%, >=64=100.0% submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.1% issued rwts: total=911950,0,0,0 short=0,0,0,0 dropped=0,0,0,0 latency : target=0, window=0, percentile=100.00%, depth=128 Run status group 0 (all jobs): READ: bw=59.1MiB/s (61.0MB/s), 59.1MiB/s-59.1MiB/s (61.0MB/s-61.0MB/s), io=3562MiB (3735MB), run=60258-60258msec隨機寫IOPS:
fio -numjobs=1 -iodepth=128 -direct=1 -ioengine=libaio -sync=1 -rw=randwrite -bs=4K -size=1G -time_based -runtime=60 -name=Fio -directory=/mnt測試結果範例:
Fio_168690232321: (g=0): rw=randwrite, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iodepth=128 fio-3.7 Starting 1 process Fio_168690232321: Laying out IO file (1 file / 1024MiB) Fio_168690232321: (groupid=0, jobs=1): err= 0: pid=24409: Fri Jun 16 15:59:44 2023 write: IOPS=15.2k, BW=59.4MiB/s (62.3MB/s)(3567MiB/60008msec) slat (usec): min=2, max=5193, avg= 4.94, stdev= 5.58 clat (usec): min=1596, max=148914, avg=8405.03, stdev=4954.14 lat (usec): min=1601, max=148918, avg=8410.06, stdev=4954.12 lat percentiles (usec): | 1.00th=[ 2966], 5.00th=[ 3687], 10.00th=[ 4113], 20.00th=[ 4686], | 30.00th=[ 5145], 40.00th=[ 5735], 50.00th=[ 6259], 60.00th=[ 6849], | 70.00th=[10552], 80.00th=[14222], 90.00th=[15401], 95.00th=[16319], | 99.00th=[18482], 99.50th=[21103], 99.90th=[38536], 99.95th=[44303], | 99.99th=[81265] bw ( KiB/s): min=56408, max=95856, per=99.99%, avg=60870.87, stdev=5497.41, samples=120 iops : min=14102, max=23964, avg=15217.70, stdev=1374.35, samples=120 lat (msec) : 2=0.01%, 4=8.61%, 10=61.08%, 20=29.70%, 50=0.57% lat (msec) : 100=0.02%, 250=0.01% cpu : usr=2.67%, sys=8.95%, ctx=216723, majf=0, minf=27 IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=0.1%, >=64=100.0% submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.1% issued rwts: total=0,913236,0,0 short=0,0,0,0 dropped=0,0,0,0 latency : target=0, window=0, percentile=100.00%, depth=128 Run status group 0 (all jobs): WRITE: bw=59.4MiB/s (62.3MB/s), 59.4MiB/s-59.4MiB/s (62.3MB/s-62.3MB/s), io=3567MiB (3741MB), run=60008-60008msec隨機讀吞吐:
fio -numjobs=1 -iodepth=128 -direct=1 -ioengine=libaio -sync=1 -rw=randread -bs=1M -size=1G -time_based -runtime=60 -name=Fio -directory=/mnt測試結果範例:
Fio_168690251150: (g=0): rw=randread, bs=(R) 1024KiB-1024KiB, (W) 1024KiB-1024KiB, (T) 1024KiB-1024KiB, ioengine=libaio, iodepth=128 fio-3.7 Starting 1 process Fio_168690251150: Laying out IO file (1 file / 1024MiB) Fio_168690251150: (groupid=0, jobs=1): err= 0: pid=24616: Fri Jun 16 16:03:05 2023 read: IOPS=498, BW=500MiB/s (524MB/s)(29.4GiB/60257msec) slat (usec): min=80, max=251817, avg=98.36, stdev=1453.22 clat (msec): min=11, max=519, avg=256.37, stdev=17.04 lat (msec): min=11, max=519, avg=256.46, stdev=16.99 lat percentiles (msec): | 1.00th=[ 247], 5.00th=[ 255], 10.00th=[ 255], 20.00th=[ 255], | 30.00th=[ 255], 40.00th=[ 255], 50.00th=[ 257], 60.00th=[ 257], | 70.00th=[ 257], 80.00th=[ 257], 90.00th=[ 257], 95.00th=[ 257], | 99.00th=[ 271], 99.50th=[ 376], 99.90th=[ 481], 99.95th=[ 493], | 99.99th=[ 506] bw ( KiB/s): min=489472, max=532480, per=99.99%, avg=512076.73, stdev=3669.64, samples=120 iops : min= 478, max= 520, avg=500.03, stdev= 3.58, samples=120 lat (msec) : 20=0.03%, 50=0.05%, 100=0.09%, 250=1.47%, 500=98.75% lat (msec) : 750=0.03% cpu : usr=0.03%, sys=4.83%, ctx=30067, majf=0, minf=5 IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=0.1%, >=64=117.1% submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.1% issued rwts: total=30010,0,0,0 short=0,0,0,0 dropped=0,0,0,0 latency : target=0, window=0, percentile=100.00%, depth=128 Run status group 0 (all jobs): READ: bw=500MiB/s (524MB/s), 500MiB/s-500MiB/s (524MB/s-524MB/s), io=29.4GiB (31.6GB), run=60257-60257msec隨機寫吞吐:
fio -numjobs=1 -iodepth=128 -direct=1 -ioengine=libaio -sync=1 -rw=randwrite -bs=1M -size=1G -time_based -runtime=60 -name=Fio -directory=/mnt測試結果範例:
測試結果中隨機寫頻寬(BW)為 500MiB/s。
Fio_168690260582: (g=0): rw=randwrite, bs=(R) 1024KiB-1024KiB, (W) 1024KiB-1024KiB, (T) 1024KiB-1024KiB, ioengine=libaio, iodepth=128 fio-3.7 Starting 1 process Fio_168690260582: Laying out IO file (1 file / 1024MiB) Fio_168690260582: (groupid=0, jobs=1): err= 0: pid=24705: Fri Jun 16 16:04:37 2023 write: IOPS=498, BW=500MiB/s (524MB/s)(29.4GiB/60254msec) slat (usec): min=105, max=251450, avg=156.25, stdev=1450.74 clat (msec): min=18, max=506, avg=256.29, stdev=17.20 lat (msec): min=19, max=506, avg=256.45, stdev=17.15 lat percentiles (msec): | 1.00th=[ 243], 5.00th=[ 253], 10.00th=[ 253], 20.00th=[ 255], | 30.00th=[ 255], 40.00th=[ 255], 50.00th=[ 257], 60.00th=[ 257], | 70.00th=[ 257], 80.00th=[ 257], 90.00th=[ 259], 95.00th=[ 259], | 99.00th=[ 292], 99.50th=[ 363], 99.90th=[ 481], 99.95th=[ 493], | 99.99th=[ 506] bw ( KiB/s): min=471040, max=548864, per=99.99%, avg=512085.42, stdev=6121.76, samples=120 iops : min= 460, max= 536, avg=500.07, stdev= 5.98, samples=120 lat (msec) : 20=0.02%, 50=0.04%, 100=0.11%, 250=2.49%, 500=97.72% lat (msec) : 750=0.03% cpu : usr=3.24%, sys=4.52%, ctx=28949, majf=0, minf=4 IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=0.1%, >=64=117.0% submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.1% issued rwts: total=0,30009,0,0 short=0,0,0,0 dropped=0,0,0,0 latency : target=0, window=0, percentile=100.00%, depth=128 Run status group 0 (all jobs): WRITE: bw=500MiB/s (524MB/s), 500MiB/s-500MiB/s (524MB/s-524MB/s), io=29.4GiB (31.6GB), run=60254-60254msec
Windows系統下的效能測試
本節以通用容量型NAS掛載到Z盤,FIO可執行檔安裝在C:\Program Files\fio\fio.exe為例,執行以下命令測試效能。
如果在Windows系統測試NFS協議NAS檔案系統效能,受限於Windows NFS用戶端串列執行單個檔案系統的請求,請調整-numjobs參數增加FIO測試檔案數量。
隨機讀IOPS:
"c:\Program Files\fio\fio.exe" -name=Fio -numjobs=2 -iodepth=128 -direct=1 -ioengine=windowsaio -sync=1 -rw=randread -bs=4K -size=1G -time_based -runtime=60 -group_reporting -thread -directory=Z\:\測試結果範例:
Fio_168690138640: (g=0): rw=randread, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=windowsaio, iodepth=128 ... fio-3.29 Starting 2 threads Fio_168690138640: Laying out IO file (1 file / 1024MiB) Fio_168690138640: Laying out IO file (1 file / 1024MiB) Fio_168690138640: (groupid=0, jobs=2): err= 0: pid=3716: Fri Jun 16 15:57:13 2023 read: IOPS=15.2k, BW=59.3MiB/s (62.2MB/s)(3559MiB/60015msec) slat (usec): min=2, max=1923, avg= 9.75, stdev= 5.93 clat (usec): min=574, max=172102, avg=16841.03, stdev=13743.23 lat (usec): min=582, max=172118, avg=16850.79, stdev=13743.03 clat percentiles (usec): | 1.00th=[ 1565], 5.00th=[ 2376], 10.00th=[ 3064], 20.00th=[ 4752], | 30.00th=[ 6390], 40.00th=[ 8455], 50.00th=[ 16581], 60.00th=[ 19268], | 70.00th=[ 20841], 80.00th=[ 23725], 90.00th=[ 34341], 95.00th=[ 42730], | 99.00th=[ 61604], 99.50th=[ 69731], 99.90th=[ 89654], 99.95th=[ 98042], | 99.99th=[113771] bw ( KiB/s): min=57584, max=135136, per=100.00%, avg=60797.96, stdev=3971.16, samples=238 iops : min=14396, max=33783, avg=15199.29, stdev=992.75, samples=238 lat (usec) : 750=0.01%, 1000=0.08% lat (msec) : 2=2.71%, 4=13.18%, 10=27.51%, 20=20.78%, 50=32.76% lat (msec) : 100=2.94%, 250=0.04% cpu : usr=0.00%, sys=5.83%, ctx=0, majf=0, minf=0 IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=0.1%, >=64=100.0% submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% complete : 0=0.0%, 4=100.0%, 8=0.1%, 16=0.1%, 32=0.1%, 64=0.1%, >=64=0.1% issued rwts: total=911224,0,0,0 short=0,0,0,0 dropped=0,0,0,0 latency : target=0, window=0, percentile=100.00%, depth=128 Run status group 0 (all jobs): READ: bw=59.3MiB/s (62.2MB/s), 59.3MiB/s-59.3MiB/s (62.2MB/s-62.2MB/s), io=3559MiB (3732MB), run=60015-60015msec隨機寫IOPS:
"c:\Program Files\fio\fio.exe" -name=Fio -numjobs=2 -iodepth=128 -direct=1 -ioengine=windowsaio -sync=1 -rw=randwrite -bs=4K -size=1G -time_based -runtime=60 -group_reporting -thread -directory=Z\:\測試結果範例:
Fio_168690107265: (g=0): rw=randwrite, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=windowsaio, iodepth=128 ... fio-3.29 Starting 2 threads Fio_168690107265: Laying out IO file (1 file / 1024MiB) Fio_168690107265: Laying out IO file (1 file / 1024MiB) Fio_168690107265: (groupid=0, jobs=2): err= 0: pid=4056: Fri Jun 16 15:38:56 2023 write: IOPS=15.3k, BW=59.9MiB/s (62.8MB/s)(3592MiB/60012msec); 0 zone resets slat (usec): min=2, max=4469, avg=11.04, stdev=16.84 clat (usec): min=829, max=98497, avg=16640.38, stdev=3644.71 lat (usec): min=1373, max=98502, avg=16651.42, stdev=3644.35 clat percentiles (usec): | 1.00th=[10421], 5.00th=[13042], 10.00th=[13566], 20.00th=[14091], | 30.00th=[14746], 40.00th=[15533], 50.00th=[16450], 60.00th=[17171], | 70.00th=[17695], 80.00th=[18482], 90.00th=[19530], 95.00th=[20841], | 99.00th=[32375], 99.50th=[36439], 99.90th=[42206], 99.95th=[46924], | 99.99th=[76022] bw ( KiB/s): min=53596, max=67392, per=100.00%, avg=61371.35, stdev=1490.41, samples=238 iops : min=13398, max=16848, avg=15342.70, stdev=372.62, samples=238 lat (usec) : 1000=0.01% lat (msec) : 2=0.01%, 4=0.07%, 10=0.82%, 20=91.27%, 50=7.80% lat (msec) : 100=0.04% cpu : usr=0.00%, sys=5.83%, ctx=0, majf=0, minf=0 IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=0.2%, >=64=99.7% submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% complete : 0=0.0%, 4=97.5%, 8=0.9%, 16=1.0%, 32=0.6%, 64=0.1%, >=64=0.1% issued rwts: total=0,919647,0,0 short=0,0,0,0 dropped=0,0,0,0 latency : target=0, window=0, percentile=100.00%, depth=128 Run status group 0 (all jobs): WRITE: bw=59.9MiB/s (62.8MB/s), 59.9MiB/s-59.9MiB/s (62.8MB/s-62.8MB/s), io=3592MiB (3767MB), run=60012-60012msec隨機讀吞吐:
"c:\Program Files\fio\fio.exe" -name=Fio -numjobs=2 -iodepth=128 -direct=1 -ioengine=windowsaio -sync=1 -rw=randread -bs=1M -size=1G -time_based -runtime=60 -group_reporting -thread -directory=Z\:\測試結果範例:
Fio_168690086312: (g=0): rw=randread, bs=(R) 1024KiB-1024KiB, (W) 1024KiB-1024KiB, (T) 1024KiB-1024KiB, ioengine=windowsaio, iodepth=128 ... fio-3.29 Starting 2 threads Fio_168690086312: Laying out IO file (1 file / 1024MiB) Fio_168690086312: Laying out IO file (1 file / 1024MiB) Fio_168690086312: (groupid=0, jobs=2): err= 0: pid=6400: Fri Jun 16 15:35:46 2023 read: IOPS=655, BW=656MiB/s (688MB/s)(38.7GiB/60371msec) slat (usec): min=20, max=7533, avg=60.61, stdev=84.70 clat (msec): min=42, max=2036, avg=389.97, stdev=105.38 lat (msec): min=42, max=2036, avg=390.03, stdev=105.37 clat percentiles (msec): | 1.00th=[ 184], 5.00th=[ 257], 10.00th=[ 368], 20.00th=[ 376], | 30.00th=[ 380], 40.00th=[ 384], 50.00th=[ 388], 60.00th=[ 393], | 70.00th=[ 397], 80.00th=[ 405], 90.00th=[ 414], 95.00th=[ 422], | 99.00th=[ 785], 99.50th=[ 1217], 99.90th=[ 1888], 99.95th=[ 1938], | 99.99th=[ 2005] bw ( KiB/s): min=282587, max=1051351, per=99.93%, avg=671112.03, stdev=64303.07, samples=240 iops : min= 275, max= 1026, avg=655.22, stdev=62.81, samples=240 lat (msec) : 50=0.01%, 100=0.19%, 250=4.68%, 500=93.38%, 750=0.62% lat (msec) : 1000=0.53%, 2000=0.57%, >=2000=0.02% cpu : usr=0.00%, sys=1.66%, ctx=0, majf=0, minf=0 IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=0.2%, >=64=99.7% submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.1%, 64=0.0%, >=64=0.1% issued rwts: total=39594,0,0,0 short=0,0,0,0 dropped=0,0,0,0 latency : target=0, window=0, percentile=100.00%, depth=128 Run status group 0 (all jobs): READ: bw=656MiB/s (688MB/s), 656MiB/s-656MiB/s (688MB/s-688MB/s), io=38.7GiB (41.5GB), run=60371-60371msec隨機寫吞吐:
"c:\Program Files\fio\fio.exe" -name=Fio -numjobs=2 -iodepth=128 -direct=1 -ioengine=windowsaio -sync=1 -rw=randwrite -bs=1M -size=1G -time_based -runtime=60 -group_reporting -thread -directory=Z\:\測試結果範例:
Fio_168690096808: (g=0): rw=randwrite, bs=(R) 1024KiB-1024KiB, (W) 1024KiB-1024KiB, (T) 1024KiB-1024KiB, ioengine=windowsaio, iodepth=128 ... fio-3.29 Starting 2 threads Fio_168690096808: Laying out IO file (1 file / 1024MiB) Fio_168690096808: Laying out IO file (1 file / 1024MiB) Fio_168690096808: (groupid=0, jobs=2): err= 0: pid=4496: Fri Jun 16 15:37:12 2023 write: IOPS=874, BW=874MiB/s (917MB/s)(51.5GiB/60296msec); 0 zone resets slat (usec): min=54, max=14217, avg=99.50, stdev=104.17 clat (msec): min=8, max=972, avg=292.48, stdev=72.43 lat (msec): min=8, max=972, avg=292.58, stdev=72.43 clat percentiles (msec): | 1.00th=[ 89], 5.00th=[ 174], 10.00th=[ 220], 20.00th=[ 249], | 30.00th=[ 292], 40.00th=[ 300], 50.00th=[ 300], 60.00th=[ 305], | 70.00th=[ 305], 80.00th=[ 313], 90.00th=[ 351], 95.00th=[ 359], | 99.00th=[ 575], 99.50th=[ 667], 99.90th=[ 852], 99.95th=[ 885], | 99.99th=[ 919] bw ( KiB/s): min=278528, max=1503232, per=100.00%, avg=895241.67, stdev=80207.46, samples=240 iops : min= 272, max= 1468, avg=873.98, stdev=78.34, samples=240 lat (msec) : 10=0.01%, 20=0.14%, 50=0.24%, 100=0.92%, 250=19.01% lat (msec) : 500=78.07%, 750=1.34%, 1000=0.26% cpu : usr=1.66%, sys=0.83%, ctx=0, majf=0, minf=0 IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=0.1%, >=64=99.8% submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% complete : 0=0.0%, 4=99.1%, 8=0.6%, 16=0.3%, 32=0.1%, 64=0.1%, >=64=0.1% issued rwts: total=0,52715,0,0 short=0,0,0,0 dropped=0,0,0,0 latency : target=0, window=0, percentile=100.00%, depth=128 Run status group 0 (all jobs): WRITE: bw=874MiB/s (917MB/s), 874MiB/s-874MiB/s (917MB/s-917MB/s), io=51.5GiB (55.3GB), run=60296-60296msec
FIO參數說明
測試命令中有關FIO各參數含義的說明如下表所示。
參數 | 說明 |
direct | 表示是否使用direct I/O。預設值:1。
|
iodepth | 表示測試時的IO隊列深度。例如 |
rw | 表示測試時的讀寫策略。您可以設定為:
|
ioengine | 表示測試時FIO選擇哪種I/O引擎,通常選擇libaio,更符合日常應用模式,更多的選擇請查閱FIO官方文檔。 |
bs | 表示I/O單元的塊大小(block size)。讀取和寫入的值可以以read、write格式單獨指定,其中任何一個都可以為空白以將該值保留為其預設值。 |
size | 表示測試檔案大小。 FIO會將指定的檔案大小全部讀/寫完成,然後才停止測試,除非受到其他選項(例如運行時)的限制。如果未指定該參數,FIO將使用給定檔案或裝置的完整大小。也可以將大小作為1到100之間的百分比給出。例如指定size=20%,FIO將使用給定檔案或裝置完整大小的20%空間。 |
numjobs | 表示測試的並發線程數。 |
runtime | 表示測試時間,即FIO運行時間長度。 如果未指定該參數,則FIO會持續將上述size指定大小的檔案,以每次bs值為塊大小讀/寫完。 |
group_reporting | 表示測試結果顯示模式。 如果指定該參數,測試結果會匯總每個進程的統計資訊,而不是以不同任務來統計資訊。 |
directory | 表示待測試的檔案系統掛載路徑。 |
name | 表示測試工作名稱,可以隨意設定。 |
有關各參數的更多說明,請參見FIO MAN手冊。
相關問題
更多有關NAS效能方面的FAQ,請參見效能說明FAQ。