Testy kart SD w połączeniu z Raspberry Pi

Porównujemy wydajność kilku popularnych kart SD z poziomu Raspberry Pi

Wydajność kart SD ciągle wzbudza zainteresowanie. Na rynku dostępne jest wiele kart o różnych klasach prędkości zapisu/odczytu co dolewa oliwy do tego tematu. Zebrałem kilka kart i postanowiłem przetestować ich prędkości z poziomu Raspberry Pi - czyli z uwzględnieniem możliwości czytnika tego mini komputera. Czy wydajność karty SD ogranicza wydajność Raspberry Pi, czy też wąskie gardło znajduje się gdzie indziej?

W testach wzięło sześć kart o różnych klasach prędkości (zaczynając od najszybszych według podanych klas/prędkości):
  • SanDisk Extreme 16 GB: UHS-I klasy 10 z prędkościami do 45 MB/s (link)
  • Transcend SDHC Premium 8 GB: klasa 10 z prędkościami do 17-20 MB/s (link - inna pojemność)
  • Kingston SD10V 4 GB: klasy 10 z prędkościami co najmniej 10 MB/s (PDF)
  • SanDisk Ultra 4 GB: klasy 6 z prędkościami 30 MB/s (amazon, na stronie SanDiska jest tylko wolniejsza wersja)
  • Sony SF-8C4 8 GB: klasa 4 z prędkościami do 15 MB/s (link, moja ma podane 15 MB/s na naklejce)
  • SanDisk SDHC Niebieska: klasa 4 bez podanych prędkości (link)
Karty SD biorące udział w teście

W teście wzięły trzy rodziny kart SanDiska, które są określane jako najlepsze lub jedne z najlepszych. Dostępne w sieci testy wykazują iż karty tego producenta cechują się dobrą wydajnością m.in. przy losowych operacjach zapisu/odczytu. Karty SanDiska są też często fałszowane. SanDisk Ultra w wersji jaką posiadam nie jest listowany na stronie producenta. Albo to wycofany model, albo podróbka (choć niektórych innych 4 GB kart też trudno znaleźć na stronach producentów).

Cenowo układ jest podobny. Najdroższa jest seria SanDisk Extreme, dalej mamy tańsze karty Transcend i na końcu karta Kingstona, Sony i najwolniejsza rodzina kart SanDiska (16 PLN).

Czas wypalania obrazu na karcie SD

Używając czytnika kart Kingston MobileLite G3 wypaliłem obrazy occidentalis (raspbian) na każdej z kart. Czas potrzebny na wypalenie obrazu mocno różnił się pomiędzy kartami. Oto wyniki:

Czas wypalania obrazu na karcie SD

Karty ułożyły się praktycznie według swoich znamionowych prędkości. Najszybsza karta standardu UHS-I, po tym klasa 10 i na końcu klasa 4. Jedynie SanDisk Ultra (niby klasy 6) wmieszał się pomiędzy karty klasy 10. Jeżeli często wypalasz obrazy bardzo szybka karta znacząco skróci potrzebny na to czas. Szybkość takiego zapisu powinna mieć też odzwierciedlenie w szybkości instalacji pakietów (choć tam dochodzą operacje na wielu plikach).

Benchmark IOzone na Raspberry Pi

Używając phoronix test suite wykonałem test IOzone na każdej z kart z poziomu Raspberry Pi (system uruchomiony z karty na Raspberry). Wyniki można zobaczyć na openbenchmarking.org jak i poniżej.

By porównać wydajność Twojego komputera/karty z wynikami moich testów wystarczy że wykonasz polecenie:
phoronix-test-suite benchmark 1305066-FO-1305060FO01

Zakładając oczywiście że masz zainstalowany phoronix-test-suite. Dodatkowo w przypadku Raspberry wymagane przez tester pakiety systemowe trzeba instalować samemu, gdyż phoronix-test-suite nie potrafi się poprawnie autoryzować na Raspbianie. W czasie testowania na Raspberry najlepiej nic innego nie robić (system zostanie dość mocno obciążony).

Karta SanDisk Extreme była testowana w kilku konfiguracjach. "extreme" oznacza system zainstalowany poprzez Berryboot na partycji AuFS (RaspRazor/Raspbian). "extreme raspbian" to test na occidentalis 0.2 (tak jak pozostałe karty). "extreme raspbian latest" to test na w pełni zaktualizowanym (w chwili testowania) raspbianie.

Testy odczytu z karty

Benchmark odczytu IOzone 4Kb
Benchmark odczytu IOzone 64Kb
Benchmark odczytu IOzone 1MB

Jak widać prędkości zapisu większości kart utrzymują się na poziomie 20MB/s (trochę dziwne że tak równo). Dopiero przy 1MB rekordach nieco spadają. Co ciekawe najwolniejsze (ale niewiele) w tych testach są karty Kingstona i Transcenda.

Testy zapisu na kartę

Benchmark zapisu IOzone 4Kb
Benchmark zapisu IOzone 64Kb
Benchmark zapisu IOzone 1MB

W testach zapisu karty ułożyły się praktycznie według znamionowych deklarowanych prędkości. Wygrała karta UHS-I, czyli SanDisk Extreme, wyraźnie dalej druga znana w świecie kart SD marka - Transcend. Po nim mamy SanDiska Ultra klasy 6 i dwie karty klasy 4.

Wyniki sumaryczne

Suma benchmarków IOzone

Powyżej znajdują się zsumowane prędkości osiągnięte przez poszczególne karty w każdym z testów. Im więcej tym lepiej. Niebieski najwolniejszy SanDisk zajął ostatnie miejsce. Duże prędkości odczytu nie zrekompensowały bardzo niskich prędkości zapisu.

System na partycji AuFS okazał się nieco szybszy od systemów zainstalowanych na partycjach ext4. By to potwierdzić trzeba jenak wykonać więcej takich testów porównawczych. W przyszłości gdy dostępny będzie Kernel w wersji np. 3.8 - 3.10 warto będzie sprawdzić także system plików F2FS.

Żadna z kart nie wypadła negatywnie. Te, które miały być szybkie takie były. Trzeba jednak uwzględnić że te szybsze karty bywają najdroższe.

Maksymalny transfer dla kart SD obsługiwany przez Raspberry

W testach odczytu IOzone kilka kart osiągnęło wyniki zbliżone do 20 MB/s. Co najmniej SanDisk Extreme powinien być szybszy (według znamionowej szybkości). Używając gnome-disk-utility przeprowadziłem benchmark odczytu z poziomu Raspberry i na PCcie z wykorzystaniem czytnika MobileLite Kingstona.

Okazało się że na Raspberry SanDisk Extreme osiąga 22 MB/s prędkości odczytu. Podłączony do PCta, w czytniku Kingstona prędkość wzrosła do 32 MB/s. Wynika z tego że dla Raspberry nie warto za bardzo kupować kart szybszych niż 20 MB/s.

Test odczytu poprzez czytnik Kingstona
Test odczytu z poziomu Raspberry

Zewnętrzne nośniki

Berryboot pozwala zainstalować system na zewnętrznym nośniku - pendrivie, czy na dysku podłączonym przez USB. Do zestawienia dodałem tani pendrive ADATA C008 (4GB) oraz dysk Hitachi HTS723232A7A364 (320 GB, 2,5"). Testy gnome-disk-utility jak i z poziomu Raspberry IOzone pokazały że przy zapisie pendrive oferuje transfer jedynie 4 MB/s. Odczyt był dość dobry, ale sumarycznie na poziomie niebieskiego SanDiska. Powolny zapis to przypadłość wielu, szczególnie tańszych urządzeń tego typu. Dysk talerzowy natomiast wypadł najlepiej we wszystkich testach zapisu i odczytu osiągając prędkości rzędu 22-25 MB/s. Co ciekawe podłączony do laptopa w testach gnome-disk-utility uzyskał około 36 MB/s dla operacji zapisu i odczytu.

Suma benchmarków IOzone z uwzględnieniem zewnętrznych nośników

Testy serwerowe

O efektywności karty SD, czy dysku może świadczyć ich efektywność w testach serwerowych, gdzie testowane są np. operacje serwowania plików statycznych. Użyłem testów pts/blogbench i pts/nginx (wyniki). Blogbench to test odtwarzający różnoraki ruch na serwerze. pts/nginx to test na ilość obsługiwanych żądań na sekundę.

Blogbench

Raspberry z różnymi kartami osiąga praktycznie te same wyniki. W mocniejszym Odroidzie-X2 wydajność jest drastycznie większa. Oznacza to że wydajność serwerowa Raspberry nie jest ograniczana przez karty SD. Test blogbench na zapis pod Raspberry nie udał się i brak wyników dla niego.

Benchmark Nginx

W teście pts/nginx wyniki są podobne, choć najszybsza karta SD zyskała niewielką przewagę. Również i w tym teście Odroid osiągnął znacznie lepszy wynik.

Podsumowanie

Jeżeli chcesz wykorzystywać Raspberry do odtwarzania filmów, muzyki możesz wybrać zwykły dysk talerzowy podłączany przez USB (aktywny hub USB będzie zapewne potrzebny). Daje on bardzo dużą pojemność i jest zarazem najszybszy. Dobry pendrive będzie kosztował raczej tyle samo co odpowiadająca mu dobra karta SD.

Jeżeli chcesz wykorzystywać Raspberry do np. nauki programowania z wykorzystaniem pinami GPIO, czy do innych zadań nie wymagających dużej przestrzeni na dysku to wystarczy do tego dobra, ale nie najdroższa karta SD. Dobra marka ze środka stawki. SanDisk jest dobrą marką, ale zbyt wiele (jeżeli w ogóle) nie zyskamy stosując najszybsze karty tego producenta. Benchmarki mogą być korzystne, ale w Raspberry nawet tańsza karta klasy 10, czy nieco niższej nie będzie ograniczać wydajności komputera.

blog comments powered by Disqus

Kategorie

Strony