Gebruik het juiste compressie-algoritme

gzip

Artikelgereedschap

  • Tip ons
  • Printen
  • Reacties (0)
Aanbevelen

Gepubliceerd: Dinsdag 27 juli 2010
Auteur: Koen Vervloesem

Een systeembeheerder heeft vaak met gecomprimeerde bestanden te maken, maar de vraag die dan wel eens terugkomt is welk algoritme je best kunt gebruiken. Het gedrag van verschillende algoritmes varieert immers enorm, niet alleen in de grootte van het gecomprimeerde bestand, maar ook in de tijd die het comprimeren en decomprimeren vereist.

Als systeembeheerder kom je compressie vaker tegen dan je denkt: logbestanden worden automatisch gecomprimeerd wanneer ze geroteerd worden, man-pagina's staan gecomprimeerd op de harde schijf, ZFS laat toe om een volledig bestandssysteem transparant te comprimeren, en heel wat softwarepakketten die je UNIX-systeem downloadt zijn gecomprimeerd. Bovendien maak je zelf ook wel eens expliciet gecomprimeerde bestanden aan, bijvoorbeeld voor backups.

Vaak denk je niet na bij de standaardkeuze voor het compressie-algoritme, maar de juiste keuze kan een heel verschil maken. Alleen is die keuze knap lastig, want er bestaat niet zoiets als het 'beste' compressie-algoritme: het ene algoritme zal bijvoorbeeld beter zijn voor het comprimeren van vooral tekst, terwijl het andere algoritme in het algemeen beter is, maar tekst minder goed comprimeert.

En daarnaast zijn er natuurlijk snelheidsverschillen. Je moet dus zelf voor je eigen situatie beslissen wat je het belangrijkst vindt. Wanneer je bijvoorbeeld logbestanden wilt comprimeren, moet dat snel gaan en mag het niet te veel processorkacht gebruiken, zodat de andere taken die de server uitvoert geen last hebben van de compressie. Maar wanneer je een groot bestand online plaatst dat vaak gedownload zal worden, dan loont het de moeite om een trager compressie-algoritme te gebruiken dat een heel klein bestand als resultaat heeft. Heb je uitgemaakt wat je vereisten zijn, dan kun je de verschillende algoritmes op je verschillende soorten gegevens testen. En dan zul je ook nog zien dat sommige algoritmes op een multicore-systeem meerdere processorkernen tegelijk kunnen gebruiken, terwijl andere algoritmes daar niet van kunnen profiteren.

gzip, bzip2 en xzip

Met de waarschuwing in het achterhoofd dat je alles voor je eigen situatie eens moet benchmarken, kunnen we toch wat algemene uitspraken doen over de verschillende algoritmes. Zo zijn xz-bestanden in het algemeen kleiner dan bz2-bestanden, die op hun beurt in het algemeen kleiner zijn dan gz-bestanden. Dat is dan ook de reden waarom xz sinds Fedora 12 gebruikt wordt om pakketten te comprimeren, en ook Arch Linux en Slackware gebruiken het ondertussen. Voor grote bestanden die vaak gedownload worden is xz dus een goede keuze. Voor tekstbestanden levert xz in het algemeen echter niet de beste compressie op.

Het goede comprimeervermogen van xz heeft natuurlijk zijn prijs: de tijd die nodig is voor de compressie is veel groter dan bij gzip en bzip2, toch zeker bij de hogere compressieniveaus (gzip, bzip2 en xz ondersteunen niveaus van snel en weinig compressie tot traag en veel compressie dankzij de opties -1 tot -9). Alleen bij de lagere compressieniveaus kan xz even snel of zelfs sneller comprimeren dan bzip2, maar gzip blijft het snelste. Anderzijds decomprimeert xz sneller dan bzip2. De parallelle versie van die laatste, pbzip2, kan het wel sneller doen op een multicore-systeem, maar dat werkt alleen als het bestand ook gecomprimeerd is met pbzip2. Het snelste op vlak van decompressie is nog altijd gzip.

Bron: Techworld

De rubriek Tips & Tools biedt praktische informatie die IT-professionals in hun dagelijkse werk kunnen toepassen.

Totaal 0 reactiesLaatste reacties


Nieuwsbrief

Ontvang dagelijks een overzicht van het laatste ICT-Nieuws in uw mailbox

Whitepapers

  • Houdt grip op UC-uitdagingen

    Unified communications biedt vele voordelen, maar heeft ook specifieke uitdagingen en niet ieder project levert het verwachte ROI op.

    Downloaden
  • Flexibele IT noodzaak voor bankenOnderzoeksrapport over de beperkte flexibiliteit van veel IT-systemen in de bancaire wereld. Lees meer!
  • Overheid bespaart met cloud computingDiscussie over cloud-beleid overheid. Whitepaper over kosten, veiligheid en beschikbaarheid.
» Meer whitepapers

Peiling

Loading Poll

Video: Review: HTC One X-smartphone met vijf...

Review: HTC One X-smartphone met vijf cores (video)