Nån som kör compression på ZFS?

Trädvy Permalänk
Avstängd
Plats
Sthlm
Registrerad
Nov 2008

Nån som kör compression på ZFS?

Det verkar som att compression på ZFS är otroligt bra. 3-4x komprimering och högre prestanda verkar vanligt
https://blogs.oracle.com/si/entry/zfssa_smashes_ibm_xiv_while

Jag funderar på att slå på komprimering på allting. Nån som gör det, och kan berätta mera?

Trädvy Permalänk
Medlem
Registrerad
Dec 2003

Tja,

Jag har kørt med komprimering med lite olika effekt, allt från lzjb till gzip-9. Dock har allt endast kørts på mina servrar hemma, så inga produktionsværden.

I stort ær mycket av den data jag lagrar, redan komprimerad på ett eller flera sætt eller vældigt svår komprimerad (random): detta gæller allt från olika typer media, krypterade filestores till backup med Crashplan osv. Men jag ville testa - dels før att se hur det påverkar CPUn men också om mitt antagande stæmmde.

Det jag såg var inte direkt några vinster, æven med gzip-9. Utan det gav snarare nackdelar (ibland tar det komprimerade utrymmet mera plats æn okomprimerad (komprimeringsgrad < 1.0 )), samtidigt som också CPU anvændandet økade - olika beroende på komrpimeringsgrad. Så jag har valt att slå det av.

Så mitt råd ær, i likhet med dedup så undersøk vilken data du har:

* Okomprimerad?
* Inte random?
* Få "større" filer?

Min antagelser sæger att punkt 3 också ær något att ta i beaktelser. Hypotesen jag har ær att om du skall komprimera en vanlig text fil - som i sig ær vældigt enkel att komprimera - som har en storlek på sæg <1kb så kommer (kan?) overheaden på komprimeringen vara høgre æn vinsten du gør på med sjælva komprimeringen. Då menar jag dels på storleken på filen, som faktiskt i detta fall också kan øka, men också på att du faktiskt måste gøra några ytterliggare steg (packa upp det i minnet, æven om detta går riktigt fort).

Vet inte om det svarar på dina frågor, men kanske en tankestællare?

Trädvy Permalänk
Medlem
Registrerad
Dec 2008
Skrivet av saddam:

Det verkar som att compression på ZFS är otroligt bra. 3-4x komprimering och högre prestanda verkar vanligt
https://blogs.oracle.com/si/entry/zfssa_smashes_ibm_xiv_while

Jag funderar på att slå på komprimering på allting. Nån som gör det, och kan berätta mera?

Känns som det är onödigt så länge man inte lagrar raw, fraps eller wav/flac som är helt/nästan okomprimerat

Trädvy Permalänk
Avstängd
Plats
Sthlm
Registrerad
Nov 2008

Det verkar som att det är lzjb man ska köra, för det är i stort sett gratis för cpun. Det är en mycket kraftigt optimerad variant av lz, som inte komprimerar jättebra, men är extremt snabb och lätt att beräkna. Många kör lzjb, även utanför ZFS.

(För övrigt, vad står lzjb för? lzJB är förkortning för lzJeffBonwick. Jeff Bonwick råkar även vara en av de två huvudarkitekterna bakom ZFS. Den andra är Matt Ahrens som jobbar på Delphi idag - som gör Illumos och OpenIndiana. JB jobbar på ett startup företag idag. JB har även gjort andra saker, såsom Slab Allocator som används flitigt i många OS, t.ex. Linux)

Jag funderar på att slå på compression på kataloger som inte är uppenbart komprimerade då, efter er input. Vad ska man komprimera?

ISO images
PDF och ebooks

ej MP3
ej video
dvs ej media.

Andra förslag?

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Nov 2001

ISO-filer är redan komprimerade, PDF:er och dylikt kommer väl funka sisådär. Tror inte du har någon överdriven mängd sådana iaf så vinsten blir väl marginell.

Argaste

Trädvy Permalänk
Medlem
Plats
Borås
Registrerad
Okt 2002

Jag kör kompression på delar av /var har jag för mig så inte ports-trädet och loggar med mera tar onödig plats (på FreeBSD). Källkod är ju mycket textfiler så har man massor av källkod lagrad (såsom i ports på FreeBSD) är det nog vettigt. Har för mig jag läste någonstans att det kunde vara vettigt för prestandan att ha komprimerad swap men jag är skeptisk. Textfiler vinner ju mycket på kompression men å andra sidan är de ofta inte så stora från början, men har man ett filsystem med massor av textfiler så kan det ju vara vettigt om man vill spara diskutrymme. PDF-filer har väl redan någon form av inbyggd kompression tror jag (åtminstone bilderna komprimeras ju).

Mina lagringsfilsystem däremot känns helt meningslösa att komprimera då allting redan är ganska komprimerat (mycket videofiler framförallt). Kan tänka mig att det är mer lönt i företagsservrar men inte på hemmaservern. Sedan beror det väl på vad man har för processor och om man har snabb eller långsam lagring. Snabb processor på slöa hårddiskar så lönar sig det mer med komprimering men med SSD eller långsam processor så är det väl tveksamt när det gäller prestandan. Men man kan ju även spara diskutrymme så det kan ju vara värt ändå av den anledningen.

Om filerna inte behöver kommas åt så ofta gör det heller inte så mycket om prestandan blir sämre. Så exemplet med källkod är ju bra, textfiler som man troligtvis bara behöver ganska sällan. Mycket av det man lagrar ligger ju ändå bara och tar plats utan att man använder det särskilt ofta så egentligen gör det väl inte så mycket om man komprimerar det.

Ett annat exempel där man i teorin ska kunna tjäna prestanda med kompression är ssh kommunikation. Men alltid när jag testat slå på kompression har prestandan blivit lidande vid filöverföringar (jag kör en del rsync över ssh). Är väl samma sak där att filerna redan är komprimerade (såsom bilder från digitalkameran) så det är bortkastat i praktiken.

Flac som gavs exempel på är hårt komprimerat (med förlustfri kompression förvisso). Inte ens wav går så bra att komprimera med vanliga algoritmer. Flac använder algoritmer anpassade för ljudfiler men algoritmer för datafiler ger inte mycket, testa zippa en wav, blir knappt mindre. Programfiler kan väl kanske ge en del men man ska nog inte räkna med jättemycket där heller (halva utrymmet i bästa fall kanske).

Men som saddam skriver så kan man testa med lzjb då det inte påverkar prestandan särskilt mycket (men processorbelastningen går förstås upp en del vid filöverföringar). Om servern jobbar med andra saker och inte bara är filserver så kan det vara en nackdel. Kan i och för sig vara en nackdel även på en ren filserver om den används hårt. Så tänk till lite vilka filsystem som kan tjäna på komprimering utrymmesmässigt och som inte används alltför ofta. Ofta blir det inte så mycket som är värt att komprimera...