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

哪个是在debian上运行Web服务器和数据库的最好的文件系统

例如:在debian的ext2或ext3花费很长的时间来pipe理庞大的子文件夹的庞大的文件夹我的pipe理任务花费了很多时间,我不能等待30分钟,而不是等待30分钟大的子文件夹。

你的extX文件系统是否启用了dir_index? (运行tune2fs -l / dev / XXX来检查)如果没有,尝试启用它作为第一步。

XFS处理大量的目录。

正如詹姆斯指出的那样,ext {2,3}用适当的标志处理巨大的目录非常好。 但是……有时候并不是那样的感觉。

特别:

  • 一个现代的文件系统可以做一个非常快速和可扩展的映射从名称到inode,这意味着它可以(几乎)立即打开任何给定的文件,无论目录是多大,还回答任何查询(存在,权限,大小,等)关于一个特定的path基本上不受目录大小的影响。

但…

  • 对整个目录进行的任何操作都必须线性迭代所有文件,这可能非常慢。 例如,默认情况下, ls按字母顺序sorting文件名; 所以它必须先读取它们,然后进行sorting,然后显示,在数千个文件目录上轻松地进行几分钟。 另一个常见的问题是通配符匹配,它也必须读取所有现有的文件名才能返回匹配的子集。

结论:如果只使用精确指定的path,任何好的文件系统都可以。 如果你使用通配符,或者经常对整个目录进行操作(列表,复制或删除),任何文件系统对于大型目录来说都会太慢。

首先,请查看文件系统上的维基百科文章: http : //en.wikipedia.org/wiki/Comparison_of_file_systems 。

其次,考虑你是否可以重组你的层次结构,使其在任何给定的层次上都没有这么多的文件。

第三,你运行什么样的硬件?

第四,这可能是一个高度关注的问题,但我个人喜欢ext3或jfs。

在处理大文件的系统上,我总是首选XFS。 它将很好地处理大型高需求系统。 它有很好的恢复工具。 它也有一个快速的IO率。 至于什么都有缺点。 放松是艰难的。 创build和删除目录需要更长的时间,然后在其他文件系统上执行。

这种依赖于“巨大文件夹”的细节,具体是大量的小文件还是物理上的大文件,以及目录树有多深。

XFS是一个非常稳定的文件系统,可以有效处理大文件。 由于突然停电(不是文件系统损坏,只是数据丢失),因此它在生产环境中经常受到攻击性的内存中的数据caching以及可能的数据丢失,尽pipe几乎每个文件系统在某种程度上都遭受同样的问题。 另一个问题是添加或删除目录时的元数据操作速度稍慢。 如果你有一个深层的目录树,这对你来说可能是一个破坏行为,但是我build议在解散之前testing一下XFS。

JFS是一个坚如磐石的文件系统,在很多不同的负载下,CPU占用率低,性能全面。 当我对ext3的稳定性有强烈的渴望,但是却无法处理ext系列文件系统的性能怪癖(也就是低效的分配和慢速的磁盘访问)时,这就是我的文件系统。 与XFS相比,您可能没有发现使用大文件的性能非常好。

没有关于目标工作量的进一步细节,我不能给你一个明确的build议,但是我怀疑如果你没有时间进行广泛的调整和基准testing,JFS将是一个很好的select。

对于拥有大量小文件的文件系统,ReiserFS一直是王者。 Ext3是一个很好的“全方位”文件系统,但是ReiserFS真的很适合大文件的小文件目录。 直到最近,它仍然是Suse系统的默认设置,并且仍然是一个受欢迎的选项。