当您将包含多个文件和目录的Bucket挂载到本地时,可以通过优化挂载参数来显著提高使用ls
命令列出文件的速度。
前提条件
适用场景
Bucket目录下存在大量文件或文件夹。
Bucket内不包含任何软链接文件,且不打算使用软链接功能。此外,对文件的用户ID(uid)、组ID(gid)等元数据信息没有特殊要求。
在对元数据一致性要求不高的场景中,例如模型训练或推理时,数据集文件基本上不会发生更改。
参数说明
选项名称 | 描述 |
选项名称 | 描述 |
max_stat_cache_size | 控制是否启用元数据缓存和缓存的大小,1.91.x版本默认值为100,000,约占用内存40 MB。之前的版本默认为1,000。请根据OSS中被频繁访问的对象数量进行配置,在内存充足时,建议配置足够大的值,以有效提升操作体验,例如1,000,000。
|
readdir_optimize | 控制是否使用缓存优化,默认为false,即不使用。添加该挂载选项后ossfs在 |
stat_cache_expire | 控制是否启用元数据缓存的过期淘汰策略以及调整缓存的过期时间(秒)。默认为900,即过期时间为15分钟。
|
挂载示例
场景1:Bucket目录下存在大量文件或文件夹。
挂载名为
mybucket
的OSS存储桶到本地/mnt/oss
目录,开启元数据缓存并设置缓存空间为1000000约占内存400 MB。ossfs mybucket /mnt/oss -ourl=http://oss-cn-****.aliyuncs.com -omax_stat_cache_size=1000000
场景2:Bucket内不包含任何软链接文件,且不打算使用软链接功能。此外,对文件的用户ID(uid)、组ID(gid)等元数据信息没有特殊要求。
挂载名为
mybucket
的OSS存储桶到本地/mnt/oss
目录,在后续执行ls
命令时,不会发送HeadObject
请求来获取文件项的元数据(如gid、uid等)。ossfs mybucket /mnt/oss -ourl=http://oss-cn-****.aliyuncs.com -oreaddir_optimize
场景3:对元数据一致性要求不高的场景,例如模型训练或推理时,数据集文件基本上不会发生更改。
挂载名为
mybucket
的OSS存储桶到本地/mnt/oss
目录,且关闭元数据缓存过期淘汰策略,将stat_cache_expire
参数值设置为-1。您也可以设置一个较大的值,如72000,即20小时后缓存过期。ossfs mybucket /mnt/oss -ourl=http://oss-cn-****.aliyuncs.com -ostat_cache_expire=-1
- 本页导读 (1)
- 前提条件
- 适用场景
- 参数说明
- 挂载示例