Raspberry Pi 3 - skutočný stress test

Keď 29. Februára, na deň presne štyri roky po uvedení prvého Raspberry Pi na trh, ohlásil Eben Upton Pi 3 strhla sa mánia ako obvykle pri uvedení nového modelu. Okrem iného to znamenalo aj vysoký nápor na servre webových stránok nadácie. Nikto ale asi netušil, že časť tohto náporu obsluhovalo aj jedno práve predstavené Pi 3.

Veľa z nás, ktorý sa s Raspberry Pi už nejakú dobu zabávame skúšalo jeho možnosti ako webového servra. Viac alebo menej úspešne sa to aj darilo. Na internete je kopec návodou ako na to a ako takýto server následne aj vyladiť na čo najlepší výkon. Nech sme sa ale snažili akokoľvek, vždy bolo viac ako jasné, že na naozaj silnú prevádzku sa toto riešenie určite nehodí. Čiastočne sa to dalo obísť použitím klastrového riešenia a externých úložísk. Neboli sme ale v tomto sne osamelí. O stránke www.raspberrypi.org poskytovanej zo samotného Raspberry Pi už nejakú dobu sníval aj sám Eben Upton. A práve 29. Februára 2016 sa mu tento sen, aj keď len čiastočne podarilo uskutočniť. Kto ale vie niečo o webových servroch a infraštruktúre potrebnej na záťaž, akej býva v takýchto kľúčových momentoch stránka nadácie vystavená rýchlo určite pochopil, že to nebolo tak ľahké a tak úplne pravdivé tvrdenie.

Infraštruktúta stránky je totižto tvorená ôsmimi load balancermi a dosť rosziahlou sieťou špecializovaných servrov bežiacou na protokole IPv6 umožňujúcom rozčlenenie do viaceých administračných domén. Nepovažujem sa za experta na siete a to ani omylom a tak si snahu o preklad ďalšieho popisu radšej odpustím. Podstatné je, že do tohto zaujímavého stress testu zapojila nadáciu dokonca dvojicu svojich najvýkonnejších modelov. Jedno Raspberry Pi 3 a jedno Pi 2. Load balancery boli nastavené na smerovanie 5% záťaže na najnovší model a 3% na jeho staršieho súrodenca.

Setup

Obe boli vybavené 8 GB kartou pre systém a 32 GB USB flash kľúčom pre samotnú web stránku. Teda presnejšie len pre jej blogovú časť. Tá zaberala kapacitu cca 17 GB. Ako operačný systém bol použitý Raspbian Lite osekaný na absolútne minimum balíkčkov a s doinštalovaným armhf PHP 7 (pre urýchlenie spracovania WordPress stránky na maximum). Takto nastavené servre boli pridané do load balancerov a prebrali v bežnej prevádze pár týždňov pre uvedením Raspberry Pi 3 až 25% dennej záťaže bez toho, aby to niekto postrehol. Do kódu stránky bola pridaná hlavička, ktoú je možné na Linuxových strojoch vylistovať nasledujúcim príkazom.

$ HEAD -e https://www.raspberrypi.org/

Väčšinou vám to vráti asi toto:

X-Served-By: Blog VM 1

No čas od času aj toto:

X-Served-By: Raspberry Pi 3

Keby bol niekto v tej dobe cielene skúšal tento príkaz, asi by veľmi rýchlo prišiel na to, čo sa chystá.

29. Februára 2016 o 7:00 GMT sa oznámenie o novom členovi rodiny Pi dostalo do blogu stránky www.raspberrypi.org a zaťaženie webu vyletelo ako čertík z krabičky.

www.raspberrypi.org 29.2.2016 load graph

Graf zároveň ukazuje aj pád systému po asi 12 hodinách vysokej záťaže a 1.5 milióne požiadaviek na server. Prešetrenie incidentu ukázalo, že Pi vyčerpalo kapacitu pamäte RAM a začalo swapovať na SD kartu. Tá to ale vďaka vysokému I/O rýchlo zabalila a následná chyba 'kernel panic' spôsobila pád systému. Automatický reštart ale zlyhal vďaka poškodenej SD karte.

Twitter

Prevádzku servra môžte monitorovať aj na špeciálne na to určenom Twitter účte. Zo zatiaľ posledného záznamu sa dá jasne dedukovať, že server už momentálne beží natvrdo bez swapovania. Počet mŕtvych SD kariet už asi nahneval aj systemákov v nadácii Raspberry Pi.

Záver

Je zrejmé, že v bežnom nastavení je najväčšou slabinou Raspberry Pi ako webového servra práve SD karta ako úložisko. Presnejšie ako swap partícia. Trochu ma zarazilo, že pri možnostiach nového modelu nevyužili realizátori tohto zaujímavého stres testu schopnosť Pi bootovať z externého USB disku. Napríklad SSD a vyhnúť sa tak smrti SD karty. Ďalší zaujímavý údaj z Twitter účtu je teplota servra pri záťaži. Tá sa 29. Februára a teda v špičkovej záťaži pohybovala medzi 49 až 52°C. Je treba priznať, že ani jeden z týchto Pi servrov nie je zavretý v krabičke a web server ako aplikácia je skôr náročná na I/O operácie ako na výpočtový výkon, no i tak mi v tomto kontexte prídu kuvičie hlasy na internete prirovnávajúce Pi 3 ku vykurovaciemu telesu dosť premrštené.

Raspberry Pi 2 & 3 web servers

Zdroj: Raspberrypi.org