CFS 性能如何?
说明:
通用系列性能随容量线性增长;
通用系列(增强型)性能支持额外调整性能;
Turbo 系列性能随购买容量扩展,最高可达 TB/s 级吞吐和千万级 IOPS。
小文件场景为什么卡顿?如何优化?
小文件场景卡顿的主要原因是元数据操作开销占比高(每次 open/stat/close 都产生元数据请求),而非数据传输瓶颈。优化建议:
增大客户端并发度(多线程/多进程读写)。
减少不必要的
ls/stat 操作。使用通用性能型或 Turbo 性能型等更高规格的 CFS 类型。
合并小文件为大文件,减少元数据操作次数。
不推荐在 CFS 上执行解压操作。
为什么不推荐在 CFS 上执行解压操作?
主要原因如下:
性能瓶颈:解压操作依赖客户端本地 CPU,且 tar 等工具为单线程、单流 I/O,处理效率低。若目标路径为 CFS,解压过程中的数据读写将完全受限于单流带宽,无法发挥 CFS 多并发优势。
流程冗余:在 CFS 上解压需经历“上传压缩包→下载压缩包→本地解压→上传文件”四个步骤,相比本地解压后直接上传,增加了不必要的网络传输环节。
推荐做法:
如何测试 CFS 文件系统的性能?
注意:
一般需要多客户端并发才能达到集群级性能上限。
测试前执行
sync && echo 3 > /proc/sys/vm/drop_caches 清除缓存。建议持续读写10分钟以上取稳定值。
CFS 文件系统是否有容量上限?各类型分别多少?
类型 | 容量上限 | 起步容量 |
通用标准型(增强型) | 1 PiB | 无要求 |
通用性能型(增强型) | 1 PiB | 无要求 |
通用标准型 | 160 TiB | 无要求 |
通用性能型 | 32 TiB | 无要求 |
Turbo 标准型 | 100 PiB | 20 TiB |
Turbo 性能型 | 100 PiB | 10 TiB |
低频型 | 1 EiB | 需搭配 Turbo 系列使用 |
吞吐型 | 1 PiB | 无要求 |
每个用户可以创建多少个文件系统?
默认每个用户最多创建30个文件系统实例(通用系列按地域统计,通用系列增强型默认2个)。如需提升配额:
1. 先检查现有文件系统使用情况,优先使用已创建的空置文件系统。
2. 容器服务场景建议使用共享型 CFS 方案,避免为每个容器单独创建文件系统。非容器场景建议使用子目录挂载模式进行隔离。
3. 确认确实需要更多配额时,需 提交工单 申请。
如何加速复制本地文件到 CFS?
Linux 可使用以下 shell 脚本使用 rsync 命令加速复制本地文件到 CFS,其中"线程数量"可根据需要调整:
threads=<线程数量>; src=<源路径/>; dest=<目标路径/>; rsync -av -f"+ */" -f"- *" $src $dest && (cd $src && find . -type f | xargs -n1 -P$threads -I% rsync -av % $dest/% )
例如:
threads=24; src=/root/data/; dest=/mnt/cfs/; rsync -av -f"+ */" -f"- *" $src $dest && (cd $src && find . -type f | xargs -n1 -P$threads -I% rsync -av % $dest/% )说明:
该脚本先同步目录结构,再以多线程并行同步文件,可显著提升小文件拷贝速度。线程数量建议根据 CPU 核数和网络带宽调整,通常16 - 32为宜。
拷贝/迁移数据到 CFS 的性能如何?
拷贝/迁移数据的性能与待迁移数据所在主机配置、存储介质、网络性能、文件大小均相关。主机配置越好、原存储介质性能越优、网络出口带宽越高、文件越大则迁移性能越好。
说明: