更新时间:2024-11-05 GMT+08:00

SFS Turbo性能测试

fio是一个开源的I/O压力测试工具,可以使用fio工具对SFS进行吞吐量和IOPS的性能测试。

前提条件

已在云服务器上安装fio工具。fio可从官网GitHub下载。

注意和说明

测试性能依赖client和server之间的网络带宽及文件系统的容量大小。

安装fio

以Linux CentOS系统为例说明:

  1. 在官网下载fio。

    yum install fio

  2. 安装libaio引擎。

    yum install libaio-devel

  3. 查看fio版本。

    fio --version

文件系统性能数据

SFS Turbo文件系统的性能主要有IOPS和吞吐量等指标,具体各指标数据参见表1

表1 性能数据表

参数

20MB/s/TiB

40MB/s/TiB

125MB/s/TiB

250MB/s/TiB

500MB/s/TiB

1000MB/s/TiB

最大容量

1PB

1PB

1PB

1PB

1PB

1PB

最大IOPS

25万

25万

100万

100万

400万

如需提高IOPS,请提交工单申请,最高可达1000万

400万

如需提高IOPS,请提交工单申请,最高可达1000万

最大吞吐量

8GB/s

如需提高吞吐能力,请提交工单申请,最高可达20 GBps

8GB/s

如需提高吞吐能力,请提交工单申请,最高可达20 GBps

20GB/s

如需提高吞吐能力,请提交工单申请,最高可达100 GBps

20GB/s

如需提高吞吐能力,请提交工单申请,最高可达100 GBps

80GB/s

如需提高吞吐能力,请提交工单申请,最高可达200 GBps

80GB/s

如需提高吞吐能力,请提交工单申请,最高可达200 GBps

IOPS性能计算公式

IOPS=min(250000,600×容量)

其中,容量单位为TB

IOPS=min(250000,1200×容量)

其中,容量单位为TB

IOPS=min(1000000,6000×容量)

其中,容量单位为TB

IOPS=min(1000000,12500×容量)

其中,容量单位为TB

IOPS=min(4000000,25000×容量)

其中,容量单位为TB

IOPS=min(4000000,50000×容量)

其中,容量单位为TB

通用测试配置样例

以下提供的预估值为单台弹性云服务器ECS测试的结果。建议使用多台ECS测试,以达到高性能弹性文件服务的性能指标。

本文以SFS Turbo性能型,云服务器规格如下为例说明。

规格:通用计算增强型 | c3.xlarge.4 | 4vCPUs | 16GB

镜像:CentOS 7.564bit

  • fio命令:

    fio --randrepeat=1 --ioengine=libaio --name=test -output=output.log --direct=1 --filename=/mnt/nfs/test_fio --bs=1M --iodepth=128 --size=10240M --readwrite=rw --rwmixwrite=30 --fallocate=none

    其中,“/mnt/nfs/test_fio”为待测试的目标文件的挂载路径,需具体到文件名,即这里要测试的是“/mnt/nfs”目录下的“test_fio”文件,请根据实际填写。

  • fio结果:

  • fio命令:

    fio --randrepeat=1 --ioengine=libaio --name=test -output=output.log --direct=1 --filename=/mnt/nfs/test_fio --bs=1M --iodepth=128 --size=10240M --readwrite=rw --rwmixwrite=70 --fallocate=none

    其中,“/mnt/nfs/test_fio”为待测试的目标文件的挂载路径,需具体到文件名,即这里要测试的是“/mnt/nfs”目录下的“test_fio”文件,请根据实际填写。

  • fio结果:

顺序读IOPS

  • fio命令:

    fio --ioengine=libaio --direct=1 --fallocate=none --time_based=1 --group_reporting=1 --name=iops_fio --directory=/mnt/sfs-turbo/ --rw=read --bs=4k --size=1G --iodepth=128 --runtime=120 --numjobs=10

    其中,“/mnt/sfs-turbo/”为待测试的目标文件的挂载路径,需具体到文件名,请根据实际填写。

  • fio结果:

随机读IOPS

  • fio命令:

    fio --ioengine=libaio --direct=1 --fallocate=none --time_based=1 --group_reporting=1 --name=iops_fio --directory=/mnt/sfs-turbo/ --rw=randread --bs=4k --size=1G --iodepth=128 --runtime=120 --numjobs=10

    其中,“/mnt/sfs-turbo/”为待测试的目标文件的挂载路径,需具体到文件名,请根据实际填写。

  • fio结果:

顺序写IOPS

  • fio命令:

    fio --ioengine=libaio --direct=1 --fallocate=none --time_based=1 --group_reporting=1 --name=iops_fio --directory=/mnt/sfs-turbo/ --rw=write --bs=4k --size=1G --iodepth=128 --runtime=120 --numjobs=10

    其中,“/mnt/sfs-turbo/”为待测试的目标文件的挂载路径,需具体到文件名,请根据实际填写。

  • fio结果:

随机写IOPS

  • fio命令:

    fio --ioengine=libaio --direct=1 --fallocate=none --time_based=1 --group_reporting=1 --name=iops_fio --directory=/mnt/sfs-turbo/ --rw=randwrite --bs=4k --size=1G --iodepth=128 --runtime=120 --numjobs=10

    其中,“/mnt/sfs-turbo/”为待测试的目标文件的挂载路径,需具体到文件名,请根据实际填写。

  • fio结果:

顺序读带宽

  • fio命令:

    fio --randrepeat=1 --ioengine=libaio --name=test -output=output.log --direct=1 --filename=/mnt/sfs-turbo/test_fio --bs=1M --iodepth=128 --size=10240M --readwrite=read --fallocate=none

    其中,“/mnt/sfs-turbo/test_fio”为待测试的目标文件的挂载路径,需具体到文件名,即这里要测试的是“/mnt/sfs-turbo”目录下的“test_fio”文件,请根据实际填写。

  • fio结果:

随机读带宽

  • fio命令:

    fio --ioengine=libaio --direct=1 --fallocate=none --time_based=1 --group_reporting=1 --name=iops_fio --directory=/mnt/sfs-turbo/ --rw=randread --bs=1M --size=10G --iodepth=128 --runtime=120 --numjobs=1

    其中,“/mnt/sfs-turbo/”为待测试的目标文件的挂载路径,需具体到文件名,请根据实际填写。

  • fio结果:

顺序写带宽

  • fio命令:

    fio --ioengine=libaio --direct=1 --fallocate=none --time_based=1 --group_reporting=1 --name=iops_fio --directory=/mnt/sfs-turbo/ --rw=write --bs=1M --size=10G --iodepth=128 --runtime=120 --numjobs=1

    其中,“/mnt/sfs-turbo/”为待测试的目标文件的挂载路径,需具体到文件名,请根据实际填写。

  • fio结果:

随机写带宽

  • fio命令:

    fio --ioengine=libaio --direct=1 --fallocate=none --time_based=1 --group_reporting=1 --name=iops_fio --directory=/mnt/sfs-turbo/ --rw=randwrite --bs=1M --size=10G --iodepth=128 --runtime=120 --numjobs=1

    其中,“/mnt/sfs-turbo/”为待测试的目标文件的挂载路径,需具体到文件名,请根据实际填写。

  • fio结果: