NAS性能测试
更新时间:2021-02-26 11:23
您可以使用FIO进行吞吐和IOPS的性能测试。
Linux系统下的性能测试
性能测试前,请注意以下事项:
- 确认sunrpc_slot设置正确,详情请参见为什么Linux操作系统上NFS客户端运行性能差?。
- 吞吐最大不会超过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
- 如果您使用CentOS、Redhat、Aliyun Linux等操作系统,运行以下命令。
下面提供一些通用的性能测试样例。
说明 以下提供的预估值均为单台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设置。
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
- 随机读吞吐。
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 -numjobs=1 -iodepth=128 -direct=1 -ioengine=libaio -sync=1 -rw=randwrite -bs=1M -size=1G -time_based -runtime=60 -name=Fio -directory=/mnt
Windows系统下的性能测试
Windows操作系统上,您可以下载msi格式的安装包进行安装。安装包下载地址,请参见fio官方链接。
以NAS挂载到Z盘,FIO可执行文件安装在C:Program Filesfiofio.exe为例,执行以下命令测试性能。
说明 如果在Windows系统测试NFS协议NAS文件系统性能,受限于Windows NFS客户端串行执行单个文件系统的请求,请调整
-numjobs
参数增加FIO测试文件数量。- 随机读IOPS设置。
"c:Program Filesfiofio.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设置。
"c:Program Filesfiofio.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
- 随机读吞吐。
"c:Program Filesfiofio.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:
- 随机写吞吐。
"c:Program Filesfiofio.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: