哪个是运行 Debian 上的 Web 服务器和数据库的最佳文件系统?

哪个是运行 Debian 上的 Web 服务器和数据库的最佳文件系统?

哪个是运行 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 将是一个非常好的选择。

相关内容