Сравнение производительности XFS и ext4

Это часть команды find, оператора -exec.

Позволяет взаимодействовать с файлом/каталогом, найденным с помощью команды find.

find $HOME -path $HOME/$dir_name -prune -o -name "*$file_suffix" -exec cp {} $HOME/$dir_name/ \;

find $HOMEозначает поиск файлов/каталогов в $HOME

Чтобы понять -path , см.`найти -путь `объяснение

Чтобы понять -prune, см.https://stackoverflow.com/questions/1489277/how-to-use-prune-option-of-find-in-sh

-oозначает ИЛИ, поэтому -path ИЛИ-name *$file_suffix

-execозначает выполнение команды.

cp {} $HOME/$dir_name/скопировать все файлы, соответствующие$HOME/$dir_name/

\;означает завершение команды -exec

5
18.06.2019, 14:56
1 ответ

В предыдущем вопросе/ответе XFS упоминалась эта страница:Как выбрать файловую систему Red Hat Enterprise Linux . Я думаю, что это ответит на ваш вопрос о производительности :-). Это из официальной базы знаний Red Hat. Было бы неуместно копировать всю страницу. Вот вкус:

Another way to characterize this is that the Ext4 file system variants tend to perform better on systems that have limited I/O capability. Ext3 and Ext4 perform better on limited bandwidth (< 200MB/s) and up to ~1,000 IOPS capability. For anything with higher capability, XFS tends to be faster. XFS also consumes about twice the CPU-per-metadata operation compared to Ext3 and Ext4, so if you have a CPU-bound workload with little concurrency, then the Ext3 or Ext4 variants will be faster. In general, Ext3 or Ext4 is better if an application uses a single read/write thread and small files, while XFS shines when an application uses multiple read/write threads and bigger files.

Предыдущий ответ

Вот предыдущая версия этого ответа. Я адаптировал и расширил его, чтобы обеспечить контекст и подтвердить приведенный выше источник. Это не все необходимые чтения.


Не имеет смысла избегать XFS из-за того, что она старая . Между XFS и ext2/ext3/ext4 есть много общего, в том числе их долгая и активная жизнь.

XFS является основной поддерживаемой файловой системой для RedHat Enterprise Linux. Много усилий было потрачено на разработку XFS с течением времени, особенно из RHEL. В XFS больше новых и расширенных функций :-). См., например. поддержка «рефлинка».

Установки «Desktop Linux» -, которые также предназначены для современных ноутбуков, -по-прежнему обычно используют ext4. ext4 предоставляет очень знакомую, хорошо -известную среду.

На обычном настольном ПК преимущества XFS не всегда применимы. ext4 может иметь преимущества, в том числе преимущества в производительности. Хотя, если принять приведенные выше цифры за чистую монету, они предполагают, что XFS может иметь преимущество на быстрых современных ноутбуках!

В настоящее время сопровождающий ext4 работает в Google. ext4 используется в ОС Android от Google. Итак, ext4 используется во многих телефонах и планшетах,которые имеют менее мощное оборудование.[1] [2]

Я также нахожу ext4 удобной, потому что вы можете сжимать разделы файловой системы. Это может быть полезно, если вы хотите управлять пространством, используемым различными установками на одном диске. XFS не поддерживает сжатие, а только увеличение. (В принципе, это можно решить в LVM с помощью «тонкой настройки». См. Stratis Storage, в котором используется XFS вместе с тонким предоставлением. Возможно, в будущем Stratis станет популярным, и все дистрибутивы можно будет устанавливать на Stratis ).

В некоторых случаях дизайн ext4 был описан как старый и запутанный. Очевидно, что XFS справилась с этим немного лучше :. Простое копирование файла (или запись )приводит к десятисекундной задержке в файловой системе Linux . ОБНОВЛЕНИЕ :по этой ссылке теперь упоминаются исправления, которые были отправлены для улучшения ext4 здесь, вероятно, для версии 5.3 ядра Linux. И в будущем могут быть значительные улучшения.

XFS "производительность небольших файлов"

Производительность XFS при работе с большим количеством небольших файлов изначально была серьезным недостатком по сравнению с другими файловыми системами. Со временем были внесены улучшения.

Большое изменение, о котором следует помнить, — это отложенное ведение журнала, примерно в 2010 -2012 году. если вы видите какие-либо сравнения производительности небольших -файлов, которые предшествуют -дате этой функции, они больше не актуальны. Дизайн отложенного ведения журнала был в значительной степени основан на ведении журнала ext3 :-). Тем не менее, между ними все еще были различия в производительности в разных случаях. См.:https://lwn.net/Articles/476263/

(До этого, по-видимому, «формат журнала версии 2 был добавлен в 2002 году, что помогло значительно повысить производительность метаданных». Но это, вероятно, не помогает ответить на этот вопрос :-).

С тех пор произошли некоторые изменения. Например. документ Red Hat может не отражать все самые последние изменения.Я заметил эту цитату:

[...] free inode B+ trees (finobt) for better performance on "aged" filesystems, and file types are now stored in the directory by default (ftype=1) which greatly improves performance in certain scenarios with lots of (usually small) files.

-- comment on What is the most high-performance Linux filesystem for storing a lot of small files (HDD, not SSD)?

29
27.01.2020, 20:38

Теги

Похожие вопросы