CloudVPS activeert Linux SSD Caching met dm-cache

News

Harddisk snelheid blijkt steeds vaker de bottleneck te zijn als het op cloud performance aankomt. Processoren zijn sneller geworden en traffic, RAM geheugen en harddisk ruimte zijn in prijs gedaald. De harddisk snelheid (Harddisk IO) is echter de laatste jaren nauwelijks structureel verbeterd. Snellere schijven, zoals Solid State Disks (SSDs), blijven vooralsnog erg duur. De marginale verbetering in de harddisk IO werd over de tijd steeds duidelijker naarmate van de andere capaciteiten zoals RAM en CPU meer beschikbaar kwam voor cloud gebruikers. De virtual servers waarbij dit het meeste opviel zijn degenen met een Linux OS omdat de zwaardere applicaties meestal op Linux draaien.

Sommige providers bereiken een (beperkte) verbetering door de data op harde schijven binnen de servers waar de VPS op draait op te slaan. Omdat wij aan onze klanten High Availability virtual servers aanbieden bewaren wij de data van onze klanten niet op de server zelf maar op gedeelde storage machines. Hiermee kan een redundante infrastructuur worden neergezet maar het kan ook wat extra vertraging veroorzaken tussen de virtuele servers en de storage.

Wij geloven dat de toekomst uiteindelijk het gebruik van SSD schijven is maar voorlopig resulteert het uitvoeren van alle opslag met deze schijven nog in een erg dure VPS. Wij geloven dat de beste prijs/kwaliteitverhouding vandaag de dag bereikt wordt door storage differentiatie toe te passen. Hierbij wordt data die vaak opgevraagd of overschreven wordt op snelle opslagmedia bewaard, terwijl data die niet vaak bewerkt wordt op een langzamer alternatief bewaard zal worden.


Versnellen van de Harddisk IO

Begin dit jaar zijn wij structurele maatregelen gaan nemen om de harddisk IO significant te versnellen. Zo zijn wij een efficientere manier gaan gebruiken om de disken aan te sturen. Een andere methode die wij hebben toegepast is het gebruik van caching.

Bij caching hierbij worden lees of schrijfacties die recentelijk gedaan zijn, tijdelijk op een snel opslag medium bewaard. Bij lees (read) caching is data die gedurende de bewaarperiode wederom gelezen wordt (een 're-read') dan op deze snelle schijven te vinden.

In het geval van schrijf (write) caching worden writes eerst razendsnel op een SSD schijf of zelfs op RAM geheugen opgeslagen zodat de virtual server snel weer verder kan met de volgende operatie. Als een bepaalde hoeveelheid write data is vergaard dan wordt dat in één keer definitief opgeslagen op een goedkoper maar langzamer medium. Wij hebben als eerste stap binnen ons caching project de hoeveelheid beschikbare write cache binnen onze opslag vergroot.

Wij wilden echter voor onze Linux virtual servers aan de lees (read) kant ook nog het nodige verbeteren. De grootste verbetering zou bereikt kunnen worden door voor de caching SSD schijven te gebruiken binnen de servers waar de virtuele servers op draaien. Recente requests worden dan een bepaalde tijd op deze locale SSD schijven bewaard en als ze nog een keer gelezen worden dan zijn ze razendsnel beschikbaar. Dit is ideaal voor bijvoorbeeld image files of stukken PHP code die herhaaldelijk achter elkaar worden opgevraagd.

Ontwikkeling dm-cache met Florida International University

Het bleek echter al snel dat er geen software beschikbaar die een dergelijke caching laag binnen een server met externe opslag zou kunnen aansturen. Het Laboratory for Virtualized Infrastructure, Systems, and Applications (VISA) van Florida International University had wel een open source project genaamd dm-cache dat voor dit doeleinde aangepast kon worden. oor te gebruiken zou zijn. Dm-cache is een volledig nieuwe open source -caching-methodologie die opereert vanuit de Linux-kernel.

Vervolgens hebben wij contact opgenomen met Dr. Ming Zhao, de assistent professor die de leiding heeft over de VISA groep. Hij wilde het project ook verder ontwikkelen voor cloud toepassingen en wij gaven aan hem hier graag in te willen ondersteunen.

Wij hebben hiervoor vanaf vorig jaar september de PhD student Dulcardo Arteaga ge-sponsored. Verder hebben wij praktische feedback en real-life performance data ter beschikking gesteld. Op 23 juli zijn wij met enkele honderden klanten en andere geïnteresseerden een publieke beta test begonnen. Dulcardo is hiervoor de gehele zomer bij ons te gast geweest.

SSD Caching voor Linux in gebruik genomen

De beta test is vorige week succesvol afgerond. Wij verwachten op basis van verschillende testen dan onze maatregelen tot een verhoging van 100 tot 150% in de lees snelheid zal leiden, afhankelijk van het type load. De schrijf snelheid zal naar verwachting met 50 tot 100% stijgen, wederom afhankelijk van het type load. Vanaf dinsdag leveren wij alle nieuwe virtual Linux servers op binnen clusters die gebruik maken van dm-cache. Dit is een enorme verbetering die onze klanten in staat zal stellen om steeds snellere applicaties in onze cloud onder te brengen.

Wij zullen voor deze virtuele servers geen hogere prijs vragen en onze klanten krijgen voor dezelfde prijs dus een snellere VPS. De komende maanden zullen wij klanten met hogere IO eisen voor hun Linux virtual servers gaan benaderen om ze naar onze nieuwe clusters over te gaan zetten. Virtual servers die voorlopig op de oude infrastructuur blijven staan zullen hier ook voordeel van ondervinden. Laat het ons weten als uw Linux VPS urgent een IO performance boost kan gebruiken dan kunnen wij u voorrang geven bij het overzetten.