Reacties
- Bestandssystemen veranderen … kernelplanners veranderen … opslag zelf verandert. Verschillende toepassingen hebben verschillende eisen. Het hangt allemaal af van te veel variabelen om te tellen, en prestatie is niet alles – je moet er ook op kunnen vertrouwen en weten hoe je ermee om moet gaan als de zaken naar het zuiden gaan. Uiteindelijk moet je je eigen benchmarks uitvoeren en je eigen keuze maken …
- Alles wat je hebt gezegd is consistent, er zijn geen tegenstrijdigheden. U moet echter testen op uw werkbelasting. Aannames over optimalisatie vertragen vaak een systeem. Meet altijd.
- EXT4 gebruikt ook een bepaalde hoeveelheid ruimte voor inodes in vergelijking met XFS. En zoals Frostschutz zei … alles verandert in de tijd. Toen BTRFS op de markt kwam, zou het een fantastische FS zijn, maar het lijkt erop dat er dingen zijn veranderd
- Ik ' heb alleen goede prestaties van XFS gezien, beide in benchmarks en in de praktijk. Ik betwijfel of er benchmarks bestaan die iets anders laten zien (voor recente versies van XFS). Gespecialiseerde bestandssystemen kunnen XFS verslaan voor gespecialiseerde taken, maar XFS zou prestaties moeten hebben die vergelijkbaar zijn met de andere performante bestandssystemen.
Antwoord
Een eerdere XFS Q / A noemde deze pagina: Hoe u uw Red Hat Enterprise Linux-bestandssysteem kiest . Ik denk dat het je vraag over prestaties zal beantwoorden :-). Dit komt uit de officiële Red Hat Knowledgebase. Het zou ongepast zijn om de hele pagina te kopiëren. Hier is een voorproefje:
Een andere manier om dit te karakteriseren is dat de Ext4-bestandssysteemvarianten de neiging hebben om beter te presteren op systemen met beperkte I / O-mogelijkheden. Ext3 en Ext4 presteren beter op beperkte bandbreedte (< 200 MB / s) en tot ~ 1.000 IOPS-capaciteit. Voor alles met een hogere capaciteit is XFS meestal sneller. XFS verbruikt ook ongeveer twee keer zoveel CPU-per-metadata-bewerking in vergelijking met Ext3 en Ext4, dus als je een CPU-gebonden workload hebt met weinig gelijktijdigheid, dan zijn de Ext3- of Ext4-varianten sneller. Over het algemeen is Ext3 of Ext4 beter als een applicatie een enkele lees / schrijf-thread en kleine bestanden gebruikt, terwijl XFS schittert wanneer een applicatie meerdere lees / schrijf-threads en grotere bestanden gebruikt.
Vorig antwoord
Hier is een eerdere versie van dit antwoord. Ik heb het aangepast en uitgebreid om context te bieden en de bovenstaande bron te bevestigen. Het is niet allemaal essentieel om te lezen.
Het heeft geen zin om XFS te vermijden omdat het oud is. Er zijn veel overeenkomsten tussen XFS en ext2 / ext3 / ext4, inclusief hun lange en actieve levens.
XFS is het belangrijkste ondersteunde bestandssysteem voor RedHat Enterprise Linux. Er is in de loop van de tijd veel moeite gestoken in het ontwikkelen van XFS, met name vanuit RHEL. Het enorme aantal nieuwe en geavanceerde functies is hoger in XFS :-). Zie b.v. ondersteuning voor “reflink”.
“Desktop Linux” installaties – die ook gericht zijn op moderne laptops – gebruiken over het algemeen nog steeds ext4. ext4 biedt een zeer vertrouwde, bekende omgeving.
Op een gemiddelde desktop-pc zijn de voordelen van XFS niet noodzakelijk van toepassing. ext4 heeft mogelijk voordelen, waaronder prestatievoordelen. Hoewel als je de bovenstaande cijfers voor de eerste hand neemt, suggereren ze dat XFS een voordeel kan hebben op snelle moderne laptops!
Momenteel wordt de ext4-onderhouder gebruikt door Google. ext4 wordt gebruikt in het Android-besturingssysteem van Google. Ext4 wordt dus gebruikt in veel telefoons en tablets, die minder krachtige hardware hebben. [1] [2]
Ik vind ext4 ook handig omdat je de bestandssysteempartities kunt verkleinen. Dit is mogelijk handig als je de ruimte wilt beheren die wordt gebruikt door verschillende installaties op een enkele schijf. XFS heeft geen ondersteuning voor verkleinen, alleen groeien. (In principe kan dit worden aangepakt binnen LVM, met behulp van “thin provisioning”. Zie Stratis Storage, dat XFS gebruikt samen met thin provisioning. Misschien zal Stratis in de toekomst uit, en alle distributies kunnen worden geïnstalleerd in Stratis).
In sommige gevallen is het ext4-ontwerp beschreven als oud en rommelig. XFS is hier duidelijk een beetje beter beheerd: Eenvoudig kopiëren (of schrijven) van bestanden veroorzaakt tien seconden + latentie op het Linux-bestandssysteem UPDATE: deze link vermeldt nu patches die zijn ingediend om ext4 hier te verbeteren, waarschijnlijk voor v5. 3 van de Linux-kernel. En er zouden in de toekomst nog aanzienlijke verbeteringen kunnen zijn.
XFS “prestaties van kleine bestanden”
XFS-prestaties bij het omgaan met veel kleine bestanden waren oorspronkelijk een grote zwakte, vergeleken met andere bestandssystemen. Er zijn in de loop van de tijd verbeteringen aangebracht.
Een grote verandering om op te letten is de vertraagde logboekregistratie, ergens rond 2010-2012. D.w.z. in het geval u prestatievergelijkingen in kleine bestanden ziet die dateren van vóór deze functie, zijn ze niet langer relevant. Het ontwerp voor vertraagde logging was sterk gebaseerd op ext3 logging :-). Desalniettemin waren er nog steeds prestatieverschillen tussen de twee in verschillende gevallen. Zie: https://lwn.net/Articles/476263/
(Voordien werd blijkbaar “het log-formaat van versie 2 in 2002 toegevoegd, wat de prestaties van metadata veel beter maakte”. Maar dit helpt waarschijnlijk niet bij het beantwoorden van deze vraag :-).
Sindsdien zijn er nog enkele wijzigingen aangebracht. Bijv. het Red Hat-document geeft mogelijk niet alle meest recente wijzigingen weer. Ik heb dit citaat opgemerkt:
[…] gratis inode B + bomen (finobt) voor betere prestaties op “verouderde” bestandssystemen, en bestandstypen zijn nu standaard opgeslagen in de directory (ftype = 1) wat de prestaties aanzienlijk verbetert in bepaalde scenarios met veel (meestal kleine) bestanden.
– commentaar op Wat is het meest krachtige Linux-bestandssysteem voor het opslaan van veel kleine bestanden (HDD, geen SSD)?