跳到主要内容

Curvine 小文件读取性能测试

一、测试环境与配置

1. 硬件与网络环境

  • 测试机型:阿里云 ECS i5.8xlarge(32 核 CPU / 256GB 内存)
  • 网络带宽:80Gbps
  • 部署架构:1 台单机部署 curvine-mastercurvine-worker 及 MinIO 服务,1 台部署 FUSE 客户端

2. 基础环境

3. 测试工具与脚本

  • 核心测试脚本:tests/load_img.py(模拟 AI 训练场景,高并发读取图片,支持多进程并行调度)
  • 数据迁移工具:rclone(多线程传输,确保数据迁移效率与稳定性)
  • 对象存储服务:MinIO(单机部署,模拟 S3 兼容对象存储场景)

二、测试方案

本次测试围绕 Curvine 两种核心挂载模式(fs-mode、cache-mode)展开,重点验证冷启动读取、Page Cache 命中读取及元数据缓存优化对性能的影响,同时以原生 MinIO 作为基准对照,全面评估 Curvine 小文件读取能力。

三、测试流程

1. fs-mode 测试流程

挂载 Curvine 至指定目录:

bin/cv mount s3://xuen/fs_mode /xuen/fs_mode \
--write-type fs_mode \
-c s3.endpoint_url=http://hostname:9000 \
-c s3.credentials.access=minioadmin \
-c s3.credentials.secret=minioadmin \
-c s3.region_name=cn

数据迁移:通过 rclone 将 70,000 张图片从本地 /data/img/bdd 拷贝至 Curvine 挂载目录。fs-mode 下,70,000 张图片通过 rclone 拷贝至 Curvine 挂载目录,总耗时 55 秒,传输效率稳定,满足大规模小文件快速接入需求。

rclone copy /data/img/bdd /curvine-fuse/xuen/fs_mode/bdd -P --transfers=16

数据读取测试命令:

python3 tests/load_img.py /curvine-fuse/xuen/fs_mode/bdd \
--num_workers 32 \
--num_samples 70000

元数据缓存优化测试:分别开启内核元数据缓存、客户端元数据缓存、双缓存。

2. cache-mode 测试流程

先通过 mc 命令将 70,000 张图片预拷贝至 MinIO 对应桶(xuen/cache_mode)。

挂载 Curvine 至指定目录:

bin/cv mount s3://xuen/cache_mode /xuen/cache_mode \
--write-type cache_mode \
-c s3.endpoint_url=http://10.212.185.64:9000 \
-c s3.credentials.access=minioadmin \
-c s3.credentials.secret=minioadmin \
-c s3.region_name=cn

读取测试命令:

python3 tests/load_img.py /curvine-fuse/xuen/cache_mode/bdd \
--num_workers 32 \
--num_samples 70000

元数据缓存优化测试:分别开启内核元数据缓存、客户端元数据缓存、双缓存。

四、测试结果

测试类型处理速度(张/秒)性能提升对比(与 MinIO 冷读)
MinIO 原生冷读(基准)1675-
Curvine 基础版5615+235.2%
Curvine + 内核元数据缓存5997+257.9%
Curvine + 客户端元数据缓存6174+268.6%
Curvine + 双元数据缓存6117+265.2%

五、测试结论

  • 远超原生存储:Curvine 最优读取性能达 6174 张/秒,是原生 MinIO(1675 张/秒)的 3.68 倍;基础版性能 5615 张/秒,已是原生 MinIO 的 3.35 倍
  • 元数据缓存增益显著:开启元数据缓存后,性能较 Curvine 基础版提升 6.8%~10.0%,其中客户端元数据缓存优化效果最佳
  • 元数据机制高效:Curvine 原生基础版已实现 5615 张/秒的高性能读取,无需依赖缓存即可满足 AI 小文件读取需求,降低配置复杂度与运维成本
  • 模式兼容性强:fs-mode、cache-mode 均能稳定发挥高性能,适配不同业务场景的存储需求,兼顾性能与灵活性