哪个是运行 Debian 上的 Web 服务器和数据库的最佳文件系统?
示例:在 debian ext2 或 ext3 上,管理带有巨大子文件夹的巨大文件夹需要花费太长时间,我的管理任务花费了太多时间,我无法删除巨大的子文件夹,除非等待每个子文件夹 30 分钟。
答案1
你的 extX 文件系统是否启用了 dir_index?(运行 tune2fs -l /dev/XXX 进行检查)如果没有,请尝试首先启用它。
XFS 可以很好地处理海量目录。
答案2
作为詹姆士注意,使用适当的标志,ext{2,3} 可以非常好地处理大型目录;但是……有时感觉并非如此。
具体来说:
- 现代文件系统可以执行从名称到 inode 的非常快速且可扩展的映射,这意味着它可以(几乎)立即打开任何给定的文件,无论其所在的目录有多大。此外,回答有关特定路径的任何查询(存在、权限、大小、所有者等)基本上不受目录大小的影响。
但...
- 任何对整个目录进行的操作都必须线性迭代其中的所有文件,这可能非常慢。例如,
ls
默认情况下按字母顺序对文件名进行排序;因此它必须先读取所有文件,然后排序,然后显示,对于包含数千个文件的目录,这很容易花费几分钟。另一个常见问题是通配符匹配,它也必须读取所有现有文件名才能返回匹配的子集。
结论:如果您只使用精确指定的路径,任何好的文件系统都可以。如果您使用通配符,或者频繁对整个目录进行操作(列出、复制或删除它),任何文件系统在巨大的目录上都会太慢。
答案3
首先,查看有关文件系统的维基百科文章:http://en.wikipedia.org/wiki/Comparison_of_file_systems。
其次,考虑是否可以重新组织层次结构,以使任何给定级别上都没有那么多文件。
第三,你运行的是什么样的硬件?
第四,这可能是一个高度个人观点的问题,但我个人喜欢 ext3 或 jfs。
答案4
这取决于“巨大文件夹”的细节,特别是它是否包含大量小文件或物理上很大的文件,以及目录树的深度。
西弗斯是一个非常可靠的文件系统,在处理大文件时非常高效。它在生产环境中经常受到冲击,因为它在 RAM 中大量缓存数据,并且可能因突然断电而导致数据丢失(不是文件系统损坏,只是数据丢失),尽管几乎每个文件系统都在某种程度上遭受同样的问题。另一个问题是添加或删除目录时元数据操作速度会稍微慢一些。如果您的目录树很深,这可能会让您无法接受,但我建议在放弃它之前先测试一下 XFS。
捷豹路虎是一个非常稳定的文件系统,以低 CPU 使用率和在多种负载下均能提供全面性能而著称。当我强烈要求 ext3 的稳定性,但又无法处理 ext 系列文件系统的性能问题(即分配效率低下和磁盘访问速度慢)时,它几乎就是我的首选文件系统。与 XFS 相比,您可能发现它在处理大文件时性能并不那么高。
如果没有关于您的目标工作量的更多详细信息,我实际上无法给您明确的建议,但我认为如果您没有时间进行广泛的调整和基准测试,JFS 将是一个非常好的选择。