This topic describes how to use the fio tool to measure the throughput and input/output operations per second (IOPS) of Apsara File Storage NAS.

Performance testing in Linux

Before you conduct performance tests, note that:
  • The sunrpc_slot parameter must be set to a proper value. For more information, see Why is the performance of an NFS client poor on Linux?.
  • The maximum throughput of a file system cannot exceed the bandwidth of an Elastic Compute Service (ECS) instance. If the bandwidth of the ECS instance is 1 Gbit/s, the throughput of the file system can reach a maximum of 125 MB/s.
  • The fio tool is pre-installed on your ECS instance. If the fio tool is unavailable, run the following command to install the tool:
    • If CentOS, Red Hat Enterprise Linux (RHEL), or Aliyun Linux is running on the ECS instance, run the following command to install the tool:
      sudo yum install fio
    • If Ubuntu or Debian is running on the ECS instance, run the following commands to install the tool:
      sudo apt-get  update
      sudo apt-get install fio
The following examples show several performance testing cases:
Note The following values are all estimated based on the test results of a single ECS instance. To meet the performance metrics that are provided on the product page of NAS, we recommend that you use multiple ECS instances to conduct performance tests. For more information about the performance metrics, visit Apsara File Storage NAS.
  • 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

    Estimated value: 14,000

    Random read IOPS
  • 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

    Estimated value: 10,000

    Random write IOPS
  • 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
    • Estimated value for NAS Capacity: 150 MB/sRandom read throughput
    • Estimated value for NAS Performance: 300 MB/s
  • 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
    • Estimated value for NAS Capacity: 150 MB/sRandom write throughput
    • Estimated value for NAS Performance: 300 MB/s

Performance testing in Windows

Before you conduct performance tests, note that:
  • The requests to access a file system from a Windows server are processed in serial. Therefore, multiple files are used in the following performance tests.

You can download and install a Microsoft Installer (MSI) package of the fio tool on a Windows server. To download the MSI package, visit the fio official website.

In this example, a NAS file system is mounted on Disk Z and the fio tool is installed in the C:\Program Files\fio\fio.exe directory. You can run the following commands to conduct performance tests.

  • 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\:\

    Estimated value: 14,000

    Random read IOPS
  • 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\:\

    Estimated value: 10,000

    Random write IOPS
  • 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\:\
    • Estimated value for NAS Capacity: 150 MB/sRandom read throughput
    • Estimated value for NAS Performance: 300 MB/s
  • 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\:\
    • Estimated value for NAS Capacity: 150 MB/sRandom write throughput
    • Estimated value for NAS Performance: 600 MB/s