Voľba micro-SD karty pre Raspberry Pi

Raspberry Pi icon

Rozdiely sú priam priepastné. Hlavne v špecifických scénaroch, akým web server s CMS rozhodne je. Množstvo kariet a to aj karty označované U1 má vážne problémi pri zápise množstva malých súborov. O kartách tried nižších ako Class 10 ani nemá zmysel uvažovať. Ich rýchlosť zápisu ale i čítania radikálne klesá dokonca až pod úroveň 1kB/s. A hádajte čo. Drupal CMS, na ktorom staviam svoje stránky, tak ako aj väčšina ostatných CMS má malých súborov habadej. Vyše 2000 súborov o celkovej kapacite len 9MB.

SAMSUNG Class 2 microSD card speed test

(1)SAMSUNG 8GB HC Class 2 USB3

SAMSUNG Class 2 microSD card speed test

(2)SanDisk Ultra 8GB HC I U1 Class 10 USB3

SAMSUNG Class 2 microSD card speed test

(3)SanDisk Extreme 16GB HC I U3 Class 10 USB3

 

Merania nad a pod týmto odstavcom som robil na USB3 čítačke kariet AKASA a USB2 čítačke Kingston pod 64bit Windows 10 Professional. Všetky karty boli pred každým meraním formátované nanovo na FAT32. Pre porovnanie uvádzam aj obrázok testu 32GB verzie U3 karty od SanDisk-u na USB2 čítačke (obr.5 nájdený na internete), ktorá približne ukazuje kde je výkon microSD karty orezaný šírkou USB2 zbernice na kvalitnejšej čítačke. Zatiaľ čo sekvenčné čítanie je pri U1 karte orezané zbernicou USB2 na 34,6 MB/s (obr.4) z pôvodných 44.43 MB/s (obr. 2) nameraných mnou na USB3 zbernici a 16GB verzii karty, sekvenčný zápis je hlboko pod limitom aj USB2 zbernice na úrovni 12,58 MB/s (obr.2) (32GB U3 karta na USB2 zbernici má 28,43 MB/s(obr.4)) i keď test bežal na USB3 čítačke.
Nasledovné merania berte z rezervou. Pravda bude niekde v strede, keďže obe merania boli robené na PC a nie na RPi. Preto bude meranie, ktroré som našiel na internete v CDM 3.0.3(obr.4) asi nadnesené a moje, ktoré som robil na lacnej USB2 čítačke Kingston (obr.5) zase poddimenzované. Ak si porovnáme moje merania na čítačke Kingston (obr. 5) a USB3 čítačke AKASA (obr. 3) je hneď vidieť orezanie prenosových rýchlostí zápisu i čítania zbernicou a pravdepodobne aj radičom čítačky Kingston. No stále sú to lepšie hodnoty ako pri karte U1 (porovnať obr.4 a 5 s obr.2) na USB3 čítačke.

SAMSUNG Class 2 microSD card speed test

(4)SanDisk Extreme 32GB HC I U3 Class 10 USB2

SAMSUNG Class 2 microSD card speed test

(5)SanDisk Extreme 16GB HC I U3 Class 10 na USB2 čítačke Kingston

 

To je ale len polovica problému. Druhou je už spomínané sekvenčné čítanie z databáz. Ono samo o sebe nemusí byť hneď problémom, no napríklad MySQL, ktoré je štandardným článkom LAMP web servra využíva indexovanie tabuliek po každej zmene, čo zapríčiňuje vysoké množstvo I/O prístupov na rôznych miestach indexového súboru. V tomto prípade je lepšie aj keď nie ideále, použiť free klon MariaDB, alebo databázy využívajúce žurnálovací systém indexovania ako napríklad LMDB, alebo RocksDB.

Ďalšim do partie je samozrejme aj použitý súborový systém. Linuxové systémi Ext2, Ext3, Ext4 boli navrhované s ohľadom na rýchlo prístupovú dobu magnetických mechanických diskov a teda majú kópiu alokačnej tabuľky na každom 32 alebo 64-tom cylindri. Čo je fajn pre hlavičku pevného disku, lebo nemusí kmitať za každým až na koniec disku, ale nič moc extra pre nemechanické úložisko akým je SD kartra alebo SSD disk. Paradoxne v tomto prípade urobí väčšiu službu FAT32 alebo F2FS

Záver

Je zrejmé, že kúpou U3 karty nezískate vďaka USB2 zbernici na vašom Raspberry Pi lepšiu rýchlosť čítania, ale určite sa pridá nárast rýchlosti zápisu a hlavne - a to zdôrazňujem - krivka ich prepadu s nárastom počtu I/O bude výrazne v prospech U3. Ak ale plánujete používať vaše Pi výhradne ako Media Centrum, alebo na iné na I/O nenáročné aplikácie, tak si v pohode vystačíte s kartou triedy U1, alebo Class 10.
Samozrejme ešte záleží aj na výrobcovi a dokonca aj konkrétnom modeli. Zlé skúsenosti mám s kartami SAMSUNG EVO, ktoré ale napodiv skvelo fungujú v mojich Android zariadeniach. Nadácia používa ako odporúčané karty značky Kingston, no tie majú v testoch len priemerné výsledky. Zato sú voľbou na istotu. Bez problémov som zatiaľ používal karty od SanDisk-u.
Ešte raz ale prizvukujem. Určite sa vyhnite kartám triedy menšej ako Class 6 a ja osobne dokonca odporúčam iba karty triedy Class 10 na akúkoľvek aplikáciu.

Zdrojom týchto informácií pre mňa bol ako inak internet: https://plus.google.com/+GuidoStepken/posts/PvfsomJ9R2D. A tak som na radu autora článku pre moje Raspberry Pi 2 Model B zakúpil síce o niečo málo drahšiu, no o poznanie výkonnejšíu kartu SanDisk microSDHC Extreme 32GB (SDSDQXL-032G-GA4A). Rozdiel je naozaj drastický. Guido Stepken uvádza, že po optimalizácii sa mu podarilo navýšiť výkon jeho web servra až 70 krát. Môj web sa správa skoro ako by bežal na bežnom webhostingu a to toto Pi zároveň slúži ako media centrum v mojej obývačke.