tencent cloud

文档反馈

Turbo 目录管理

最后更新时间:2024-01-22 22:15:48

    使用场景

    该实践主要应用在使用 Turbo 文件系统下,如何更好的进行目录结构和文件数的分配,以实现更高的性能和更低的延时。

    背景介绍

    客户端访问文件系统时,都会基于 VFS layer 进行操作,VFS 层在处理多进程同时读写相同文件时,会串行的进行锁的授予和召回。那么当某个客户端的 IO 在某一层超大目录下时,因 VFS 串行的锁操作行为,会导致 IO 延时变大。
    Turbo 系统为强一致的文件系统,在实现任意客户端读写任意时刻一致的强大功能下,也意味着所有客户端,在执行 IO 操作,都会涉及到后端分布式锁的授予或召回。Turbo 后端基于分布式的元数据服务能并发地处理锁的请求,但为保证良好的延时表现,我们建议您按照本文推荐的方式进行目录和文件数的管理。

    最佳实践建议

    当您的业务不涉及频繁删除/修改/新增的情况下,如以读为主,建议单目录下子目录和文件数控制在10个-100万个。
    当您的业务涉及频繁删除/修改/新增的情况下,建议单目录下子目录和文件数控制在10个-1万个。

    常见的目录分级方案

    哈希码串区段分类:一个64个字符的哈希码串,头2个字符形成一级子目录,次2个字符形成二级子目录,二级子目录下放文件。哈希函数统计特性良好时,文件可以比较均匀地分布到这65536个目录。文件系统文件规模为6亿时,每一个目录平均1万个文件;文件系统文件规模为12亿时,每一个目录平均2万个文件。
    时间分类:年月日构成第一级子目录,小时构成第二级子目录,分钟构成第三级子目录(可以没有)。
    
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持