XFS vs ext4-prestanda [stängd]

<åt sidan class = "s-notice s-notice__info js-post-notice mb16" role = "status">

Stängd . Den här frågan är opinionsbaserad . För närvarande accepteras inte svar.

Kommentarer

  • Filsystem ändras … kärnplanerare ändras … lagring i sig ändras. Olika applikationer har olika krav. Allt beror på för många variabler för att räkna, och prestanda är inte allt – du måste också kunna lita på det och veta hur man hanterar det när saker går söderut. I slutändan måste du köra dina egna riktmärken och göra ditt eget val …
  • Allt du har sagt är konsekvent, det finns inga motsägelser. Du måste dock testa för dina arbetsbelastningar. Optimeringsantaganden saktar ofta ner ett system. Mät alltid.
  • EXT4 använder också en viss mängd utrymme för inoder jämfört med XFS. Och som frostschutz sa … allt förändras med tiden. När BTRFS anlände till marknaden skulle det vara en fantastisk FS men det ser ut som att saker och ting förändrats
  • Jag ' har bara sett bra resultat från XFS, båda i riktmärken och i praktiken. Jag tvivlar på att det finns riktmärken som visar något annat (för de senaste versionerna av XFS). Specialiserade filsystem kan slå XFS för specialuppgifter, men XFS bör ha prestanda som är jämförbara med de andra performanta filsystemen.

Svar

En tidigare XFS Q / A nämnde denna sida: Hur du väljer ditt Red Hat Enterprise Linux-filsystem . Jag tror att det kommer att ta itu med din fråga om prestanda :-). Detta kommer från den officiella Red Hat Knowledgebase. Det skulle vara olämpligt att kopiera hela sidan. Här är en smak:

Ett annat sätt att karakterisera detta är att filsystemvarianterna Ext4 tenderar att prestera bättre på system som har begränsad I / O-kapacitet. Ext3 och Ext4 fungerar bättre på begränsad bandbredd (< 200MB / s) och upp till ~ 1000 IOPS-kapacitet. För allt med högre kapacitet tenderar XFS att vara snabbare. XFS förbrukar också ungefär två gånger CPU-per-metadataåtgärden jämfört med Ext3 och Ext4, så om du har en CPU-bunden arbetsbelastning med liten samtidighet blir Ext3- eller Ext4-varianterna snabbare. I allmänhet är Ext3 eller Ext4 bättre om ett program använder en enda läs / skrivtråd och små filer, medan XFS lyser när ett program använder flera läs- / skrivtrådar och större filer.

Föregående svar

Här är en tidigare version av svaret. Jag har anpassat och utökat det för att ge sammanhang och bekräfta ovanstående källa. Det är inte allt som är viktigt att läsa.


Det är inte meningsfullt att undvika XFS för att vara gammal . Det finns många likheter mellan XFS och ext2 / ext3 / ext4, inklusive deras långa och aktiva livslängd.

XFS är det huvudsakliga stödda filsystemet för RedHat Enterprise Linux. Mycket ansträngning har gått in för att utveckla XFS över tiden, särskilt från RHEL. Det stora antalet nya och avancerade funktioner är högre i XFS :-). Se t.ex. stöd för ”reflink”.

”Desktop Linux” -installationer – som också riktar sig till moderna bärbara datorer – använder fortfarande i allmänhet ext4. ext4 ger en mycket välkänd, välkänd miljö.

På en genomsnittlig stationär PC gäller inte fördelarna med XFS nödvändigtvis. ext4 kan ha fördelar, inklusive prestandafördelar. Även om du tar siffrorna ovan till nominellt värde, föreslår de att XFS kan ha en fördel på snabba moderna bärbara datorer!

För närvarande är ext4-underhållaren anställd av Google. ext4 används i Googles Android OS. Så ext4 används i många telefoner och surfplattor, som har mindre kraftfull hårdvara. [1] [2]

Jag tycker också att ext4 är praktiskt eftersom du kan krympa filsystemspartitionerna. Detta är potentiellt användbart när du vill hantera det utrymme som används av olika installationer på en enda disk. XFS har inte stöd för krympning, bara växer. (I princip kan detta åtgärdas inom LVM med ”tunn provisionering”. Se Stratis Storage, som använder XFS tillsammans med tunn provisionering. Kanske kommer Stratis i framtiden att ta av, och alla distros kommer att installeras i Stratis).

I vissa fall har ext4-designen beskrivits som gammal och rörig. XFS klarade tydligt lite bättre här: Enkel filkopiering (eller skriv) orsakar tio sekunders + latens på Linux-filsystem . UPPDATERING: den här länken nämner nu korrigeringar som har skickats för att förbättra ext4 här, troligen för v5. 3 av Linux-kärnan. Och det kan fortfarande bli betydande förbättringar i framtiden.

XFS ”liten filprestanda”

XFS-prestanda vid hantering av många små filer var ursprungligen en stor svaghet i förhållande till andra filsystem. Förbättringar har gjorts över tiden.

En stor förändring att vara medveten om är försenad loggning, någon gång runt 2010-2012. Dvs om du ser några jämförelser med små filers prestanda som förut datum för den här funktionen är de inte längre relevanta. Den försenade loggningsdesignen var starkt baserad på ext3-loggning :-). Ändå var det fortfarande skillnader i prestanda mellan de två i olika fall. Se: https://lwn.net/Articles/476263/

(Innan det tillkom tydligen ”loggformatet version 2 2002, vilket hjälpte till att göra metadata-prestanda mycket bättre”. Men det hjälper förmodligen inte att svara på den här frågan :-).

Det finns några ytterligare ändringar sedan dess. T.ex. Red Hat-dokumentet återspeglar kanske inte alla de senaste ändringarna. Jag märkte detta citat:

[…] gratis inode B + träd (finobt) för bättre prestanda på ”åldrade” filsystem, och filtyper finns nu lagrad i katalogen som standard (ftype = 1) vilket förbättrar prestanda i vissa scenarier med många (vanligtvis små) filer.

– kommentar Vilket är det mest högpresterande Linux-filsystemet för att lagra många små filer (hårddisk, inte SSD)?

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *