XFS与ext4的性能

萨布丽娜

根据此博客

XFS是旧的文件系统,并且对于小文件运行缓慢。

在阅读本文时,我的第一印象是XFS不好。

但是有人告诉我,XFS使磁盘性能更好,而该基准测试没有意义。

在此处输入图片说明

因此,我对此进行了更多研究,发现了以下事实。

维基百科

XFS是由Silicon Graphics,Inc(SGI)于1993年创建的高性能64位日记文件系统。它是SGI的IRIX操作系统中从版本5.3开始的默认文件系统。XFS于2001年移植到Linux内核。截至2014年6月,大多数Linux发行版都支持XFS,其中一些发行版将其用作默认文件系统。

维基百科再次...

从历史上看,XFS中的元数据操作比其他文件系统要慢,例如,导致诸如删除大量文件之类的操作时性能较差。

howtogeek

XFS在处理大文件时具有良好的性能,但是在处理许多小文件时,其性能比其他文件系统差。对于主要需要处理大文件的某些类型的服务器,它可能很有用。

这些事实和基准是否正确?

Sourcejedi

先前的XFS Q / A提到了此页面:如何选择Red Hat Enterprise Linux文件系统我认为它将解决您有关性能的问题:-)。这来自官方的Red Hat Knowledgebase。复制整个页面是不合适的。这是一种味道:

对此进行表征的另一种方式是,Ext4文件系统变体在具有有限I / O功能的系统上往往表现更好。Ext3和Ext4在有限的带宽(<200MB / s)和高达〜1,000 IOPS的性能上表现更好。对于具有更高功能的产品,XFS往往会更快。与Ext3和Ext4相比,XFS消耗的每个元数据的CPU大约两倍,因此,如果您的CPU工作负载并发性很少,那么Ext3或Ext4变体将更快。通常,如果应用程序使用单个读/写线程和较小的文件,则Ext3或Ext4更好,而当应用程序使用多个读/写线程和较大的文件时,XFS会亮起。

先前的答案

这是此答案的先前版本。我已经对其进行了改编和扩展,以提供上下文并证实上述来源。并不是所有必读的内容。


避免XFS过时是没有道理的有XFS和许多相似之处EXT2 / EXT3 / EXT4,包括其长和积极的生活。

XFS是RedHat Enterprise Linux主要支持的文件系统。随着时间的推移,已经投入了大量的精力来开发XFS,尤其是RHEL方面。在XFS中,新功能和高级功能的数量很多:-)。参见例如对“ reflink”的支持。

“台式机Linux”安装程序(也针对现代笔记本电脑)仍通常使用ext4。ext4提供了一个非常熟悉的知名环境。

在普通台式PC上,XFS的优点不一定适用。ext4可能具有优势,包括性能优势。尽管如果您以上面的数字看待这些数字,他们会暗示XFS在快速的现代笔记本电脑上可能具有优势!

当前,ext4维护者由Google使用。ext4用于Google的Android操作系统。因此ext4用于许多手机和平板电脑,这些手机和平板电脑的功能不那么强大。[1] [2]

我还发现ext4很方便,因为您可以缩小文件系统分区。当您要管理单个磁盘上不同安装所使用的空间时,这可能很有用。XFS不支持收缩,只能扩展。(原则上,这可以在LVM中使用“精简配置”解决。请参阅Stratis Storage,它结合使用XFS和精简配置。也许将来Stratis将会起飞,所有发行版都可以安装到Stratis。)

某些情况下,ext4设计被描述为过时且凌乱的。XFS显然在这里管理得更好:简单的文件复制(或写入)在Linux文件系统上导致十秒以上的延迟更新:此链接现在提到已提交的补丁程序,用于改进ext4,可能是针对Linux内核v5.3的。而且将来可能还会有重大改进。

XFS“小文件性能”

相对于其他文件系统,当处理许多小文件时,XFS性能最初是一个主要弱点。随着时间的推移,已经进行了改进。

要知道的一个大变化是日志记录延迟,大约在2010-2012年之间。也就是说,如果您看到任何早于此功能的小文件性能比较,它们将不再相关。延迟的日志记录设计很大程度上基于ext3日志记录:-)。但是,在不同情况下两者之间仍然存在性能差异。参见:https : //lwn.net/Articles/476263/

(在此之前,显然“ 2002年添加了版本2日志格式,这有助于使元数据性能大大提高。”。但这可能无助于回答这个问题:-)。

从那时起,还有一些进一步的变化。例如,红帽文档可能无法反映所有最新更改。我注意到这句话:

[...]免费的inode B +树(finobt)可在“老化的”文件系统上提供更好的性能,并且文件类型现在默认情况下存储在目录中(ftype = 1),这在某些情况下(很多情况下通常很小)可以大大提高性能)文件。

-评论什么是用于存储大量小文件(HDD,而不是SSD)的最高性能Linux文件系统?

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章