您可以使用FIO进行吞吐和IOPS的性能测试。

Linux系统下的性能测试

性能测试前,请注意以下事项:
  • 确认sunrpc_slot设置正确,详情请参见linux上NFS性能只有几MB速度
  • 吞吐最大不会超过ECS带宽。如果您的ECS带宽只有1Gbps,则吞吐最大可达到125 MB/s。
  • fio测试工具应该已经在您的ECS上预安装了,若您发现fio没有正常安装,可通过以下命令进行安装。
    • 如果您使用CentOS、Redhat、Aliyun Linux等操作系统,运行以下命令。
      sudo yum install fio
    • 如果您使用Ubuntu或Debian操作系统,运行以下命令。
      sudo apt-get  update
      sudo apt-get install fio
下面提供一些通用的性能测试样例。
说明 以下提供的预估值均为单台ECS测试的结果。要达到文件存储NAS的官网性能指标 ,建议使用多台ECS进行测试。文件存储NAS的官网性能指标,请参见文件存储 NAS
  • 随机读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

    单机预估值:14k

    随机读IOPS
  • 随机写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

    单机预估值:10k

    随机写IOPS
  • 随机读吞吐。
    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
    • 容量型单机预估值:150 MB/s随机读吞吐
    • 性能型单机预估值:300 MB/s
  • 随机写吞吐。
    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
    • 容量型单机预估值:150 MB/s随机写吞吐
    • 性能型单机预估值:300 MB/s

Windows系统下的性能测试

Windows操作系统上,您可以下载msi格式的安装包进行安装。安装包下载地址,请参见fio官方链接

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

    单机预估值:14k

    随机读IOPS设置
  • 随机写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\:\

    单机预估值:10k

    随机写IOPS设置
  • 随机读吞吐。
    "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\:\
    • 容量型单机预估值:150 MB/s随机读吞吐
    • 性能型单机预估值:300 MB/s
  • 随机写吞吐。
    "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\:\
    • 容量型单机预估值:150 MB/s随机写吞吐
    • 性能型单机预估值:300 MB/s