赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 对象存储
  4. 开发参考
  5. 常用工具
  6. ossfs 1.0
  7. 最佳实践
  8. 只读场景性能调优

只读场景性能调优

  • 最佳实践
  • 发布于 2025-04-21
  • 0 次阅读
文档编辑
文档编辑

本文将为您详细介绍在只读场景中,如何借助参数选项有效提升ossfs的读取性能。

重要

以下内容适用于ossfs 1.91.3及以上版本。最新版ossfs的下载安装,请参见安装ossfs。

模式策略

ossfs提供了三种适用于不同场景下的模式策略。

默认模式

适合小文件(指page cache能够缓存文件)和大文件随机只读场景。如:AI 训练中大量原始图片素材文件。使用纯直读模式,即使开启了部分乱序仍然读取性能很差时,建议尝试使用默认模式。

ossfs读文件时,内核会缓存一份ossfs挂载点文件的数据在内存中,另外ossfs会将数据写在磁盘缓存文件上,因此内存还有一份缓存文件的数据,即一个文件会在内存中有双倍缓存。

  • 如果您的操作系统page cache最多缓存6 GB的脏数据,那么理论上默认模式适合大小为3 GB以下的文件读。

  • 您可以设置parallel_count参数调节下载数据的并发数量,设置multipart_size参数调节单个任务下载数据量。

纯直读模式

适合顺序只读大文件的场景,支持一定乱序(如跳跃范围为少量chunk)。如:AI推理加载大型safetensors模型文件。

  • 您需要开启-odirect_read。

  • 直读模式的数据保留窗口为[-direct_read_backward_chunks * direct_read_chunk_size, +direct_read_prefetch_chunks * direct_read_chunk_size],其中direct_read_chunk_size默认为4 MB,direct_read_prefetch_chunks默认为32,direct_read_backward_chunks默认为1,即默认数据保留窗口为[-4 MB, +128 MB]。如果读取乱序确定在小范围内(例如:部分safetensors模型文件,连续两次读的位置跳跃范围在[-32 MB, +32 MB]之间),则可以设置-odirect_read_backward_chunks=8,保留当前偏移量之前32 MB的数据。

  • 您还可以适当调整direct_read_prefetch_chunks、direct_read_chunk_size参数,提升并行预取的数据量,充分利用网络带宽。

混合直读模式

适合小文件(指page cache能够缓存文件)和大文件混杂只读场景,支持一定乱序(如跳跃范围为数个chunk)。如:AI推理加载大型safetensors模型文件。如果大文件读取中出现大幅随机跳跃,此模式性能会低于默认模式。

  • 您需要开启-odirect_read。

  • 您需要设置direct_read_local_file_cache_size_mb参数来控制下载落盘的数据大小。如机器page cache最多为6 GB时,可以设置-odirect_read_local_file_cache_size_mb=3072,当下载数据到达3 GB时,切换到直读模式。

  • 直读模式的数据保留窗口为[-direct_read_backward_chunks * direct_read_chunk_size, +direct_read_prefetch_chunks * direct_read_chunk_size],direct_read_chunk_size默认为4 MB,direct_read_prefetch_chunks默认为32,direct_read_backward_chunks默认为1,则默认数据保留窗口为[-4 MB, +128 MB]。如果读取乱序确定在少量范围内(如:部分safetensors模型文件,连续两次读的位置跳跃范围在[-32 MB, +32 MB]之间),则可以设置-odirect_read_backward_chunks=8,保留当前偏移量之前32 MB的数据。

  • 您还可以适当调整direct_read_prefetch_chunks、direct_read_chunk_size参数,提升并行预取的数据量,充分利用网络带宽。

使用建议

  • 如果您的文件是在通过ossfs写入时进行读取,请直接使用默认模式。

  • 如果您的ossfs只会对文件进行读取,或通过ossfs写入和读取的是不同文件。

    场景

    说明

    只有小文件

    请使用默认模式。

    只有大文件

    • 顺序读取或小幅跳跃(部分safetensors模型文件),请使用纯直读模式。

    • 大幅跳跃随机读取,请使用默认模式。

    • 无法确认读取模式,或使用纯直读模式并调整了direct_read_backward_chunks后,性能仍然差时,请使用默认模式。

    小文件和大文件混杂

    • 大文件为顺序读取或小幅跳跃(部分safetensors模型文件),请使用混合直读。

    • 大文件会大幅随机跳跃读取、无法确认读取模式或使用混合直读模式并调整了direct_read_backward_chunks后,性能仍然差时,请使用默认模式。

    说明

    当尝试纯直读模式和混合直读模式发现性能较差时,建议使用默认模式,将文件缓存至本地磁盘。使用默认模式时,磁盘性能容易成为ossfs的瓶颈,建议提高ossfs使用的磁盘配置。例如:使用ESSD AutoPL,并配置适当的预配置性能或使用性能突发。

相关文章

挂载点权限配置 2025-04-21 17:18

本文将为您介绍在使用ossfs挂载文件时,如何通过参数设定来配置用户对挂载点的访问权限。 前提条件 已开通OSS服务。

提升ls命令文件列出速度 2025-04-21 17:18

当您将包含多个文件和目录的Bucket挂载到本地时,可以通过优化挂载参数来显著提高使用ls命令列出文件的速度。 前提条件 已创建Bucket<

只读场景性能调优 2025-04-21 17:17

本文将为您详细介绍在只读场景中,如何借助参数选项有效提升ossfs的读取性能。 重要 以下内容适用于ossfs 1.91.3及以上版本。最新版ossfs的下载安装,请参见安

目录
Copyright © 2025 your company All Rights Reserved. Powered by 赛尔网络.
京ICP备14022346号-15
gongan beian 京公网安备11010802041014号