Commenti
- I file system cambiano … gli scheduler del kernel cambiano … lo storage stesso cambia. Applicazioni diverse hanno requisiti diversi. Tutto dipende da troppe variabili da contare e le prestazioni non sono tutto: devi anche essere in grado di fidarti e sapere come gestirle quando le cose vanno male. Alla fine, devi eseguire i tuoi benchmark e fare la tua scelta …
- Tutto ciò che hai detto è coerente, non ci sono contraddizioni. Tuttavia dovrai testare i tuoi carichi di lavoro. Le ipotesi di ottimizzazione spesso rallentano un sistema. Misura sempre.
- EXT4 utilizza anche una certa quantità di spazio per gli inode rispetto a XFS. E come ha detto frostschutz … tutto cambia nel tempo. Quando BTRFS è arrivato sul mercato, doveva essere un FS fantastico ma sembra che le cose siano cambiate
- I ' ho visto solo buone prestazioni da XFS, sia in benchmark e nella pratica. Dubito che esistano benchmark che mostrano il contrario (per le versioni recenti di XFS). I file system specializzati potrebbero battere XFS per attività specializzate, ma XFS dovrebbe avere prestazioni paragonabili agli altri file system ad alte prestazioni.
Answer
Una precedente domanda / risposta su XFS ha menzionato questa pagina: Come scegliere il file system Red Hat Enterprise Linux . Penso che risponderà alla tua domanda sulla performance :-). Questo è tratto dalla Knowledgebase ufficiale di Red Hat. Sarebbe inappropriato copiare lintera pagina. Ecco un assaggio:
Un altro modo per caratterizzare questo è che le varianti del file system Ext4 tendono a funzionare meglio su sistemi che hanno capacità di I / O limitate. Ext3 ed Ext4 hanno prestazioni migliori con larghezza di banda limitata (< 200 MB / s) e capacità fino a ~ 1.000 IOPS. Per qualsiasi cosa con capacità più elevate, XFS tende ad essere più veloce. XFS consuma anche circa il doppio delloperazione CPU per metadati rispetto a Ext3 ed Ext4, quindi se hai un carico di lavoro legato alla CPU con poca concorrenza, le varianti Ext3 o Ext4 saranno più veloci. In generale, Ext3 o Ext4 sono migliori se unapplicazione utilizza un singolo thread di lettura / scrittura e file piccoli, mentre XFS brilla quando unapplicazione utilizza più thread di lettura / scrittura e file più grandi.
Risposta precedente
Ecco una versione precedente di questa risposta. Lho adattato e ampliato, per fornire un contesto e corroborare la fonte di cui sopra. Non è tutta una lettura essenziale.
Non ha senso evitare XFS perché vecchio . Ci sono molte somiglianze tra XFS ed ext2 / ext3 / ext4, comprese le loro vite lunghe e attive .
XFS è il principale filesystem supportato da RedHat Enterprise Linux. Nel tempo sono stati fatti molti sforzi per sviluppare XFS, in particolare da RHEL. Lenorme numero di funzionalità nuove e avanzate è maggiore in XFS :-). Vedi ad es. supporto per “reflink”.
Le installazioni di “Desktop Linux” – che prendono di mira anche i laptop moderni – generalmente usano ancora ext4. ext4 fornisce un ambiente molto familiare e ben noto.
Su un PC desktop medio, i vantaggi di XFS non si applicano necessariamente. ext4 potrebbe avere vantaggi, inclusi vantaggi in termini di prestazioni. Anche se prendi le cifre sopra come valore nominale, suggeriscono che XFS potrebbe avere un vantaggio sui laptop moderni e veloci!
Attualmente, il manutentore ext4 è impiegato da Google. ext4 viene utilizzato nel sistema operativo Android di Google. Pertanto ext4 viene utilizzato in molti telefoni e tablet, che hanno hardware meno potente. [1] [2]
Trovo anche ext4 conveniente perché puoi ridurre le partizioni del filesystem. Questo è potenzialmente utile quando vuoi gestire lo spazio usato da installazioni differenti su un singolo disco. XFS non supporta la riduzione, ma solo la crescita. (In linea di principio, questo può essere risolto allinterno di LVM, utilizzando il “thin provisioning”. Vedi Stratis Storage, che utilizza XFS insieme al thin provisioning. Forse in futuro Stratis prenderà off, e tutte le distribuzioni saranno installabili su Stratis).
In alcuni casi, il progetto ext4 è stato descritto come vecchio e disordinato. XFS è chiaramente gestito un po meglio qui: La semplice copia (o scrittura) di un file causa dieci secondi + di latenza sul filesystem Linux AGGIORNAMENTO: questo collegamento ora menziona le patch che sono state inviate per migliorare ext4 qui, probabilmente per v5. 3 del kernel Linux. E potrebbero esserci ancora miglioramenti significativi in futuro.
“Prestazioni di file di piccole dimensioni” XFS
Le prestazioni di XFS quando si ha a che fare con molti file di piccole dimensioni erano originariamente una delle principali debolezze, rispetto ad altri filesystem. Sono stati apportati miglioramenti nel tempo.
Un grande cambiamento di cui essere consapevoli è il ritardo nella registrazione, intorno al 2010-2012. Cioè nel caso in cui si vedano confronti delle prestazioni di file di piccole dimensioni precedenti a questa funzione, non sono più rilevanti. Il design del logging ritardato era fortemente basato sul logging ext3 :-). Tuttavia, cerano ancora differenze di rendimento tra i due in casi diversi. Vedi: https://lwn.net/Articles/476263/
(Prima di allora, a quanto pare “il formato di log della versione 2 è stato aggiunto nel 2002, il che ha contribuito a migliorare notevolmente le prestazioni dei metadati”. Ma questo probabilmente non aiuta a rispondere a questa domanda :-).
Da allora sono stati apportati ulteriori cambiamenti. Per esempio. il documento di Red Hat potrebbe non riflettere tutte le modifiche più recenti. Ho notato questa citazione:
[…] alberi inode B + gratuiti (finobt) per prestazioni migliori su filesystem “vecchi”, e i tipi di file ora sono memorizzato nella directory per impostazione predefinita (ftype = 1) che migliora notevolmente le prestazioni in determinati scenari con molti file (di solito piccoli).