De Raspberry Pi voor IT Professionals
De Raspberry Pi is er, eindelijk. Een veel besproken klein moederbord dat een complete PC mag genoemd worden. Alles is dan ook aanwezig: geheugen, processor, videokaart, USB, video en geluid.
Dit alles op een kaartje van 8,5 bij 5,3 cm, het weegt amper 45gram. We bekijken even de hardware en vooral hoe performant het geheel is.
De theoretische specificaties luiden als volgt:
Het systeem is volgens de makers vergelijkbaar met de snelheid van de eerste Xbox of een 300MHz Pentium 2 maar dan met betere graphics.
De GPU is in staat om te rekenen aan 24GFlops of 1Gpixel/s. Concreet kan deze videokaart dus 1080p decoderen via H.264 aan 40MBps. Er zijn ook OpenGL ES2.0 en OpenVG bibliotheken.
Zet een (ARM) OS op een full-sized SD en de Pi start er meteen van op. Hij kan dat evengoed van een USB stick of schijf maar een SD kaart moet echter wel aanwezig zijn.
De theorie is aantrekkelijk voor om en bij € 35, maar hoe is de realiteit? Het apparaat is bedoeld om continu aan te liggen en met zijn lage stroomverbruik is dit ook wat meestal zal gebeuren.
Is hij daardoor bruikbaar als mini-server? Kun je er databases/websites op draaien (LAMP) en welke prestaties haal je dan nog? Een kleine test zal het uitwijzen.
Harde cijfers
100Mbit netwerk-snelheid lijkt al meteen als een lichte aderlating, maar met deze processing power heeft het sowieso weinig nut om hogere snelheden aan te kunnen. Daarboven is deze NIC verbonden via het USB2.0 bus-systeem (maximum 480Mbps) waardoor gigabit-snelheden dus toch nooit haalbaar zijn.
Dankzij de iPerf benchmark kunnen we alvast verklappen dat de effectieve netwerk-snelheden 91,5Mbps zijn. Dus de Broadcom chip functioneert goed.
Ook qua stroomverbruik valt het mee, met een netwerk-kabel ingeplugd meten we 500mA (2,5Watt) en dit stijgt tot 600mA (3Watt) bij volledige processorbelasting.
Besturingssystemen
De mensen achter de Pi raden Raspbian aan (een Debian gebaseerd besturingssysteem) en je kunt op hun site ook images vinden om rechtstreeks uit te pakken op een SD-kaart van minstens 2GB. Er zijn ook een Arch Linux en QtonPi images. Op andere community websites vind je ook images voor bijvoorbeeld Xbmc.
Het meest gebruikte besturingssysteem zal echter Raspbian zijn en er zijn al veel ARM-pakketten klaar voor dit systeem (kernel 3.1.9 op armv61).
Iptables, Apache2, MySQL 5.1, PHP5 zijn slechts enkele van de vele mogelijkheden. Het is dus zeker mogelijk om er ook effectief een (web-)server van te maken.
Benchmarking
Het Sizing Servers Lab heeft zich gespecialiseerd in het opzetten van real world benchmarks. Het lijkt dus logisch om een dergelijke website (LAMP) benchmark los te laten op de Raspberry Pi. Maar we moeten het met iets kunnen vergelijken. Wegens gebrek aan alternatieven nemen we een doordeweekse, recente x86-server: de HP DL380 G7.
We schakelen alle processorkernen behalve één uit en meten doorvoersnelheid per gelijktijdig aantal gebruikers (concurrency) en het stroomverbruik.
Uiteraard is dit amper vergelijkbaar: een systeem de grootte van een creditkaart, vergelijken met een volwaardige server? ARM vs. x86? 700MHz vs. 2930MHz? € 40 vs. € 2000?
Maar we zijn niet bang en zetten door, om het enigszins haalbaar te maken zetten we de prestaties per watt uit.
De benchmark bestaat uit het opzetten van een phpBB omgeving (een opensource forum applicatie) met data en het uitvoeren van allerlei acties daarop: berichten posten, berichten lezen, zoeken in het forum, privéberichten sturen naar elkaar enz…
We voeren dit niet uit met één gebruiker maar laten tot 50 gebruikers tegelijk inloggen die allen (met tussenposen van ongeveer één seconde) deze zware acties uitvoeren.
Resultaten
Dat de Raspberry Pi niet gemaakt is voor dergelijk gebruik, werd duidelijk toen het systeem crashte na een 20-tal minuten hoge belasting. Enkel de stekker eruit en erin hielp dan nog. Toch konden we enkele resultaten tevoorschijn toveren:
Even opnieuw vermelden dat dit uiteraard geen faire vergelijking is: verschillende kernels, verschillende architecturen, verschillende prijsklassen… zorgen ervoor dat we hier moeilijk van een sluitende conclusie kunnen spreken.
Toch valt duidelijk op dat de reactietijden van bij de start vrij hoog zijn: bij 2 gelijktijdige gebruikers moeten de gebruikers gemiddeld 400 milliseconden wachten tot ze de pagina te zien krijgen. Dit stijgt snel naar 7 seconden bij 12 gebruikers.
Daartegenover presenteert de échte server een stuk beter, hij gaat zelfs bij 50 gebruikers niet boven de 221 milliseconden.
Zelfs bij de prestaties per watt cijfers wint de HP het, al is het met minder overwicht: de laatste haalt 22% hogere cijfers. Het is dan ook een relatief zuinige server.
Voor de techies: We hadden zelfs de kans om monitoring uit te voeren: de processor is de reden voor de lage reactietijden bij de eerste testen (tot 12 gelijktijdige gebruikers), vanaf concurrency 25-35 wordt er geswapped en is het geheugen een groot probleem, uiteraard gevolgd door de SD (waarnaartoe standaard gewapped wordt).
One-man-server
Low-end, low-power, high-usability. Maar wonderen moet je er (uiteraard) niet van verwachten. Een beter toestel om mee te spelen zal je niet vinden, de community is intussen dusdanig groot dat je voor iedere vraag wel een antwoord zult vinden.
Ook de bestelproblemen lijken intussen van de baan: je kunt nu meerdere toestellen per persoon bestellen, maar wel slechts op twee mogelijke plaatsen: RS & Farnell. Er zijn zelfs al uitbreidingen te verkrijgen.
Om aan de achterkant van je TV te binden en het als mediacenter te gebruiken is dit een perfect toestel en ook als je er een kleine ontwikkelwebsite voor jezelf op wilt draaien is dit een prima toestel. Let wel op om niet teveel van de hardware te verlangen, de processor is een behoorlijk zwakke schakel.