Flinke snelheidswinst voor Btrfs-gebruikers in nieuwe Linux-kernel

Gebruikers van het Btrfs-bestandssysteem op Linux kunnen zich verheugen op een flinke prestatieverbetering. Met de komst van de aankomende Linux 7.2-kernel wordt een aanpassing doorgevoerd die ervoor zorgt dat het schrijven van gegevens, vooral via ‘direct I/O’, aanzienlijk sneller gaat. Dit is niet zomaar een kleine tweak, maar een belangrijke stap die een oude bug herstelt die jarenlang ongemerkt de snelheid beïnvloedde.

De kern van de verbetering zit in de manier waarop Btrfs omgaat met zogenaamde ‘direct I/O’ schrijfbewerkingen. Dat klinkt misschien technisch, maar het komt erop neer dat bepaalde applicaties, zoals databases of virtualisatiesoftware, direct met de schijf communiceren zonder tussenkomst van de cache van het besturingssysteem. Jaren geleden is er per ongeluk een stukje code verdwenen dat deze directe schrijfbewerkingen optimaliseerde. Hierdoor werden ze onnodig ‘geserialiseerd’, wat betekent dat ze één voor één werden afgehandeld in plaats van efficiënter parallel. De aanstaande kernelversie herstelt deze fout, waardoor de schrijfprocessen weer op volle snelheid kunnen draaien.

Voor de gemiddelde Linux-gebruiker die Btrfs gebruikt voor zijn dagelijkse bestanden, zal het verschil waarschijnlijk subtiel zijn. Maar voor wie zijn systeem intensief gebruikt met bijvoorbeeld grote databases, virtual machines, of andere toepassingen die veel en snel data moeten wegschrijven, is dit een welkome verandering. Denk aan sneller opstartende virtuele machines, vlotter draaiende databases of simpelweg een responsiever systeem bij zware I/O-taken. De prestatiewinst kan in sommige scenario’s behoorlijk oplopen, wat de algehele ervaring aanzienlijk verbetert.

Deze aanpassing toont aan hoe voortdurend wordt gewerkt aan het optimaliseren van de Linux-kernel, zelfs voor ogenschijnlijk kleine details die grote impact kunnen hebben. Het herstellen van zo’n langdurige ‘regression’ is een belangrijke stap om de prestaties van Btrfs, een populair en geavanceerd bestandssysteem, verder te verbeteren en het nog aantrekkelijker te maken voor veeleisende gebruikers.

Bron: https://www.phoronix.com/news/Btrfs-No-Serialize-Direct-IO