All Products
Search
Document Center

File Storage NAS:Test the performance of a NAS file system

Last Updated:Aug 26, 2026

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 -numjobs parameter to increase the number of files for the FIO test.

Procedure

  1. Remotely connect to the ECS instance. For more information, see Connection methods.

  2. 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 fio

      Redhat

      Alibaba Cloud Linux

      Ubuntu

      Run the following commands in sequence:

      1. sudo apt-get  update
      2. sudo 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.

  3. Run the performance test commands.

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=/mnt

    Sample 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-60258msec
    
  • Random 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=/mnt

    Sample 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-60008msec
    
  • Random 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=/mnt

    Sample 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-60257msec
    
  • Random 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=/mnt

    Sample 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.

Note

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-60015msec
    
  • Random 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-60012msec
    
  • Random 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-60371msec
    
  • Random 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.

  • 1: Uses direct I/O. This ignores the I/O cache and writes data directly.

  • 0: Does not use direct I/O.

iodepth

The I/O queue depth for the test. For example, -iodepth=1 means the maximum number of I/O operations in a FIO request is 1.

rw

The read/write policy for the test. Valid values:

  • randwrite: random write.

  • randread: random read.

  • read: sequential read.

  • write: sequential write.

  • randrw: mixed random read and write.

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

For more FAQs about NAS performance, see Performance FAQs.