This topic describes how to use the FIO tool to test the throughput and input/output operations per second (IOPS) of a file system in Linux and Windows.
Prerequisites
A file system has been created and mounted on an Elastic Compute Service (ECS) instance. For more information, see Quick Start.
Background information
The performance metrics in this topic are based on tests conducted on Linux and Windows systems using the FIO tool. These results serve as a performance reference for File Storage NAS. To achieve the official performance metrics of File Storage NAS, you must use multiple ECS instances for testing. For the official performance metrics, see File Storage NAS.
Precautions
Before you test the performance, take note of the following items.
The maximum throughput cannot exceed the internal bandwidth of the ECS instance. If the internal bandwidth is too low, the throughput is throttled.
For example, if you purchase a General-purpose capacity NAS file system with the lowest capacity, its initial read throughput is 150 MB/s. If your ECS instance has an internal bandwidth of 100 Mbps, the maximum throughput is 12.5 MB/s. To test up to 150 MB/s, you need at least 12 ECS instances. If your ECS instance has an internal bandwidth of 1 Gbps, the maximum throughput is 125 MB/s. To test up to 150 MB/s, you need at least 2 ECS instances.
In Linux, the NFS client limits the number of concurrent NFS requests. The default value in the compiled kernel is 2, which severely affects performance. After you install the NFS client, you can modify the number of concurrent NFS requests to improve NFS performance. For more information, see How do I modify the number of concurrent NFS requests?.
In Windows, the performance of an NFS protocol NAS file system is limited by the sequential execution of requests for a single file system by the Windows NFS client. You can adjust the
-numjobsparameter to increase the number of files for the FIO test.
Procedure
Remotely connect to the ECS instance. For more information, see Connection methods.
Install the FIO tool. If the FIO tool is already installed, skip this step.
Linux operating system
Operating system
Installation command
CentOS
sudo yum install fioRedhat
Alibaba Cloud Linux
Ubuntu
Run the following commands in sequence:
sudo apt-get updatesudo apt-get install fio
Debian
Windows operating system
Download the FIO installation package in MSI format from the FIO official website and install the package.
Run the performance test commands.
For the test commands in Linux, see Performance test commands for Linux.
For the test commands in Windows, see Performance tests in Windows.
Performance test commands for Linux
This section uses a General-purpose capacity NAS file system as an example. Run the following commands on a single Linux ECS instance to test performance.
Random read 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=/mntSample test result:
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-60258msecRandom write 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=/mntSample test result:
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-60008msecRandom read throughput:
fio -numjobs=1 -iodepth=128 -direct=1 -ioengine=libaio -sync=1 -rw=randread -bs=1M -size=1G -time_based -runtime=60 -name=Fio -directory=/mntSample test result:
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-60257msecRandom write throughput:
fio -numjobs=1 -iodepth=128 -direct=1 -ioengine=libaio -sync=1 -rw=randwrite -bs=1M -size=1G -time_based -runtime=60 -name=Fio -directory=/mntSample test result:
The random write bandwidth (BW) in the test result is 500 MiB/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
Performance tests in Windows
This section uses a General-purpose capacity NAS file system mounted to the Z: drive as an example. The FIO executable file is installed in C:\Program Files\fio\fio.exe. Run the following commands to test the performance.
When you test the performance of an NFS protocol NAS file system in Windows, the performance is limited by the sequential execution of requests for a single file system by the Windows NFS client. You can adjust the -numjobs parameter to increase the number of files for the FIO test.
Random read 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\:\Sample test result:
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-60015msecRandom write 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\:\Sample test result:
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-60012msecRandom read throughput:
"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\:\Sample test result:
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-60371msecRandom write throughput:
"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\:\Sample test result:
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 parameter descriptions
The following table describes the FIO parameters that are used in the test commands.
Parameter | Description |
direct | Specifies whether to use direct I/O. Default value: 1.
|
iodepth | The I/O queue depth for the test. For example, |
rw | The read/write policy for the test. Valid values:
|
ioengine | The I/O engine that FIO uses for the test. Typically, select libaio because it better fits daily application patterns. For more options, see the official FIO documentation. |
bs | The block size of I/O units. You can specify separate values for reads and writes in `read,write` format. If you leave a value empty, the default is used. |
size | The size of the test files. The size of the test file. FIO reads or writes the entire file size before the test stops, unless limited by other options like runtime. If this parameter is not specified, FIO uses the full size of the file or device. You can also specify the size as a percentage from 1 to 100. For example, `size=20%` uses 20% of the full size of the file or device. |
numjobs | The number of concurrent test threads. |
runtime | The duration of the test, which indicates the period of time for which the fio tool runs. If this parameter is not specified, FIO continuously reads or writes the entire file. The file size and block size are specified by the size and bs parameters, respectively. |
group_reporting | The display mode of the test results. The display mode for test results. If specified, the results show statistics aggregated for each process, instead of for each task. |
directory | The mount path of the file system to be tested. |
name | The name of the test task. You can set this as needed. |
For more information about these parameters, see the FIO man page.
Related topics
How do I increase the read and write throughput threshold of a General-purpose NAS file system?
How do I resolve poor performance when I access NAS from a Linux operating system?
Why does a file system stutter or not respond when I run the ls command?
How do I improve the NFS sequential read performance on Linux kernel 5.4 or later?
For more FAQs about NAS performance, see Performance FAQs.