W poprzednim pytaniu / odpowiedzi dotyczącym XFS wspomniano o tej stronie: Jak wybrać system plików Red Hat Enterprise Linux . Myślę, że odpowie na twoje pytanie dotyczące wydajności :-). To pochodzi z oficjalnej bazy wiedzy Red Hat. Kopiowanie całej strony byłoby niewłaściwe. Oto gust:
Innym sposobem na scharakteryzowanie tego jest to, że warianty systemu plików Ext4 zwykle działają lepiej w systemach, które mają ograniczone możliwości we / wy. Ext3 i Ext4 działają lepiej w ograniczonej przepustowości (< 200 MB / s) i do ~ 1000 IOPS. W przypadku wszystkiego, co ma większe możliwości, XFS jest zwykle szybszy. XFS zużywa również około dwa razy więcej procesora na metadane w porównaniu z Ext3 i Ext4, więc jeśli masz obciążenie związane z procesorem z niewielką współbieżnością, warianty Ext3 lub Ext4 będą szybsze. Ogólnie rzecz biorąc, Ext3 lub Ext4 są lepsze, jeśli aplikacja używa pojedynczego wątku do odczytu / zapisu i małych plików, podczas gdy XFS świeci, gdy aplikacja używa wielu wątków do odczytu / zapisu i większych plików.
Poprzednia odpowiedź
Oto poprzednia wersja tej odpowiedzi. Dostosowałem go i rozszerzyłem, aby zapewnić kontekst i potwierdzić powyższe źródło. To nie wszystko, co trzeba przeczytać.
Unikanie XFS z powodu bycia starym nie ma sensu. Istnieje wiele podobieństw między XFS i ext2 / ext3 / ext4, w tym ich długie i aktywne życie.
XFS jest głównym obsługiwanym systemem plików dla RedHat Enterprise Linux. Wiele wysiłku włożono w rozwój XFS z biegiem czasu, szczególnie z RHEL. Sama liczba nowych i zaawansowanych funkcji jest większa w XFS :-). Zobacz np. wsparcie dla „reflink”.
Instalacje „Desktop Linux” – które są również skierowane do nowoczesnych laptopów – nadal generalnie używają ext4. ext4 zapewnia bardzo znane, dobrze znane środowisko.
Na przeciętnym komputerze stacjonarnym zalety XFS niekoniecznie mają zastosowanie. ext4 może mieć zalety, w tym zalety wydajności. Chociaż jeśli weźmiesz powyższe liczby za wartość nominalną, sugerują one, że XFS może mieć przewagę nad szybkimi nowoczesnymi laptopami!
Obecnie opiekun ext4 jest zatrudniony przez Google. ext4 jest używany w systemie operacyjnym Android firmy Google. Dlatego ext4 jest używany w wielu telefonach i tabletach, które mają słabszy sprzęt. [1] [2]
Uważam również, że ext4 jest wygodny, ponieważ można zmniejszyć partycje systemu plików. Jest to potencjalnie przydatne, gdy chcesz zarządzać miejscem używanym przez różne instalacje na jeden dysk. XFS nie obsługuje zmniejszania, a jedynie powiększania. (Zasadniczo można rozwiązać ten problem w LVM, używając „cienkiej obsługi”. Zobacz Stratis Storage, która używa XFS razem z cienką alokacją. Być może w przyszłości Stratis zajmie się wyłączone i wszystkie dystrybucje zostaną zainstalowane na Stratis).
W niektórych przypadkach projekt ext4 został opisany jako stary i niechlujny. XFS wyraźnie radził sobie tutaj trochę lepiej: Proste kopiowanie (lub zapis) pliku powoduje dziesięciosekundowe + opóźnienie w systemie plików Linuksa . AKTUALIZACJA: ten odnośnik wspomina teraz o łatach, które zostały przesłane w celu ulepszenia ext4, prawdopodobnie dla v5. 3 jądra Linux. W przyszłości nadal może nastąpić znaczna poprawa.
XFS „wydajność małych plików”
Wydajność XFS przy pracy z wieloma małymi plikami była pierwotnie główną słabością w porównaniu z innymi systemami plików. Z biegiem czasu wprowadzano ulepszenia.
Dużą zmianą, o której należy pamiętać, jest opóźnione rejestrowanie, około 2010-2012. To znaczy. jeśli zobaczysz jakiekolwiek porównania wydajności w małych plikach, które poprzedzają tę funkcję, nie są one już istotne. Projekt opóźnionego logowania był w dużej mierze oparty na logowaniu ext3 :-). Mimo to w różnych przypadkach nadal występowały różnice w wydajności. Patrz: https://lwn.net/Articles/476263/
(Wcześniej najwyraźniej „format dziennika wersji 2 został dodany w 2002 roku, co pomogło znacznie poprawić wydajność metadanych”. Ale to prawdopodobnie nie pomoże odpowiedzieć na to pytanie :-).
Od tego czasu nastąpiły dalsze zmiany. Na przykład. dokument Red Hat może nie odzwierciedlać wszystkich ostatnich zmian. Zauważyłem następujący cytat:
[…] wolne i-węzły B + drzewa (finobt) dla lepszej wydajności na „starych” systemach plików, a typy plików są teraz domyślnie przechowywane w katalogu (ftype = 1), co znacznie poprawia wydajność w niektórych scenariuszach z dużą ilością (zwykle małych) plików.
– komentarz do Jaki jest najbardziej wydajny system plików Linuksa do przechowywania dużej ilości małych plików (HDD, nie SSD)?