CPFS智算版性能测试
本文介绍如何在Linux系统中使用 FIO 工具测试 CPFS 智算版文件系统的吞吐量和 IOPS 性能。
前提条件
已创建 CPFS 智算版文件系统,并在创建灵骏GPU服务器时关联该文件系统。
背景信息
推荐使用FIO工具测试CPFS 智算版文件系统性能,不同工具测试的CPFS智算版文件系统性能会有差异,难以反映真实性能。本文示例的性能参数,均为Linux系统下采用FIO工具的测试结果,以此作为CPFS智算版文件系统的产品规格参考。
产品规格提供的数据仅为理论值(阿里云实验室测试环境的参考值),实际数据以您的操作环境为准,测试环境的差异可能导致性能数据有一定偏差。IO大小、并发度、存储侧负载、读写混合的比例等因素会影响测试结果。
操作步骤
登录灵骏 GPU 服务器。
安装FIO测试工具。如果已安装,请跳过此步骤,直接运行性能测试命令。
操作系统
安装命令
CentOS
sudo yum install fioRedhat
sudo yum install fioAlibaba Cloud Linux
sudo yum install fioUbuntu
依次执行以下安装命令:
a.sudo apt-get update
b.sudo apt-get install fioDebian
依次执行以下安装命令:
a.sudo apt-get update
b.sudo apt-get install fio运行性能测试命令。
其中
/cpfs-test/是挂载CPFS 智算版文件系统的目录,请根据实际挂载路径替换。4K随机读IOPS:
fio -numjobs=64 -iodepth=4 -ioengine=libaio -direct=1 -rw=randread -bs=4K --group_reporting -size=1G -time_based -runtime=180 -name=4depth_64file_4k_direct_randread_iops -directory=/cpfs-test/4K随机写IOPS:
fio -numjobs=64 -iodepth=4 -ioengine=libaio -direct=1 -rw=randwrite -bs=4K --group_reporting -size=1G -time_based -runtime=180 -name=4depth_64file_4k_direct_randwrite_iops -directory=/cpfs-test/4M顺序读带宽:
fio -numjobs=128 -iodepth=2 -ioengine=libaio -direct=1 -rw=read -bs=4M --group_reporting -size=1G -time_based -runtime=180 -name=2depth_128file_4M_direct_read_bw -directory=/cpfs-test/4M顺序写带宽:
fio -numjobs=128 -iodepth=2 -ioengine=libaio -direct=1 -rw=write -bs=4M --group_reporting -size=1G -time_based -runtime=180 -name=2depth_128file_4M_direct_write_bw -directory=/cpfs-test/
FIO参数说明
测试命令中有关FIO各参数含义的说明如下表所示。
参数 | 说明 |
direct | 表示是否使用direct I/O。默认值:1。
|
iodepth | 表示测试时的IO队列深度。例如 |
rw | 表示测试时的读写策略。您可以设置为:
|
ioengine | 表示测试时FIO选择哪种I/O引擎,通常选择libaio,更符合日常应用模式,更多的选择请查阅FIO官方文档。 |
bs | 表示I/O单元的块大小(block size)。默认值:4 KiB。读取和写入的值可以以read、write格式单独指定,其中任何一个都可以为空以将该值保留为其默认值。 |
size | 表示测试文件大小。 FIO会将指定的文件大小全部读/写完成,然后才停止测试,除非受到其他选项(例如运行时)的限制。如果未指定该参数,FIO将使用给定文件或设备的完整大小。也可以将大小作为1到100之间的百分比给出。例如指定size=20%,FIO将使用给定文件或设备完整大小的20%空间。 |
numjobs | 表示测试的并发线程数。本示例IOPS测试为64,带宽测试为128。 |
runtime | 表示测试时间,即FIO运行时长。 如果未指定该参数,则FIO会持续将上述size指定大小的文件,以每次bs值为块大小读/写完。 |
group_reporting | 表示测试结果显示模式。 如果指定该参数,测试结果会汇总每个进程的统计信息,而不是以不同任务来统计信息。 |
directory | 表示待测试的文件系统挂载路径。本示例地址为 |
name | 表示测试任务名称,可以随意设定。 |
有关各参数的更多说明,请参见FIO MAN手册。