我正在处理一个每天生成数千个小文件的应用程序。然后,这些文件应上传到 NAS,并从 Windows 计算机的网络共享中进行浏览。
虽然该过程在技术上可行,但上传和浏览文件都非常非常慢 - 在 Windows 计算机上,浏览速度太慢而无法顺利进行。
这些文件的大小非常小 - 其中数百万个文件的大小远低于 100MB。
我想到了几种可能的选择来解决这个问题:
- 压缩文件
gz
(尝试过,没有太大帮助) .tar
根据年龄将文件收集到多个存档(这会将它们分成大约 10 个存档)- 使用 ZFS 将它们上传到另一台 NAS(当前的 NAS 没有)。
运行此应用程序的服务器在 XFS 上运行,我无法将其重新格式化以使用其他任何东西。
虽然我不确定这些是否会有帮助,但我很好奇根据您的经验,处理这种情况的最佳方法是什么。
处理许多小文件时有哪些最佳实践?
如有任何反馈,我们将不胜感激。
谢谢!
更新:谢谢大家的建议。我将文件分组到 tar 存档中,并用 NFS 替换了共享,现在事情顺利多了。谢谢你!
答案1
不要将所有文件存储在一个目录中。无论您使用哪种文件系统,浏览速度都会非常非常慢。创建子目录或者可能创建两层或三层子目录。这取决于什么对您的特定情况有意义。