Hello SSD …

Grudzień 12, 2009

Witam zainteresowanych i zapraszam do lektury.

Postanowiłem przetestować model pamięci SSD – Kingston 40GB.
W rzeczywistości jest to połówka Intel’a Gen2 80GB (34 nm flash MLC) zamknięta w metalowej obudowie Kingstona.

SSD Kingston 40GB

Jako, że w sieci nie ma wiele porównań klasycznych dysków, z tymi opartymi na technologii FLASH, postanowiłem zrobić małe porównanie.
Dodatkowo – wiele testów jest przeprowadzanych na systemach operacyjnych z rodziny Microsoft, więc żeby nie powtarzać, przedstawię Wam wyniki testu porównawczego na systemie Gentoo Linux ~AMD64 Kernel 2.6.32 – drugiego takiego nie znajdziecie nawet na Google :)

Kingston 40GB SSDNow V-Series Vs Maxtor DiamondMax 10 250GB

Zamiarem moim było podejść do tego wszystkiego z maksymalną skrupulatnością to znaczy – nie oszukiwać.

Po pierwsze:

* Systemy są w 99% identyczne – system z dysku HDD spakowałem do archiwum .tgz, a następnie rozpakowałem na SSD, jedyną różnicą jest to, że na dysku SSD postanowiłem rozdzielić Home’a z Rootem – tj. stworzyć drugą partycję na którą przeniosłem zawartość katalogu /home (na dysku HDD wszystko znajdowało się na jednej partycji).Przekonasz się o tym, gdy zobaczysz plik dmesg, ale o tym za chwilę.
* System plików na partycjach root jest taki sam – Reiserfs, dla home’a na SSD stworzyłem Ext3.

Po drugie:

* Bardzo ważna jest procedura testowa, przekonamy się o tym również za chwilę.
* Wszystkie istotne szczegóły będą na bieżąco opisywane.
* Gdy testowałem SSD – HDD był wyłączony, gdy testowałem HDD – SSD był wyłączony.
* Oczywiście w trakcie wykonywania testów nic innego się nie działo, tzn. tylko jedno zadanie pracowało.

1 Na początek – uruchomienie systemu…

Na dysku HDD
Czas uruchomienie systemu, czyli czas od startu INIT’u Kernela, do pojawienia się panelu logowania wynosi 26 sekund.
Logowanie do środowiska KDE zajmuje 12.2 sekundy.

Na dysku SSD
Odpowiednio 10.4 sekundy i 4.4 sekundy.

Ten pomiar był robiony stoperem, kilkukrotnie na dwóch rodzajach dysków, więc dokładność można określić na +/- 1 s. Żeby uwiarygodnić powyższe pomiary, załączam dwa pliki tekstowe, zawierające komunikaty startowe i odpowiednio dla każdego komunikatu – czas.

# Dmesg HDD #
# Dmesg SSD #

SSD zaczyna wychodzić na prowadzenie od momentu

[ 1.951993] REISERFS (device sda1): found reiserfs format “3.6″ with standard journal

Później przy ładowaniu udev’a różnica jest już spora:
HDD

[ 5.816731] udev: starting version 149

SDD

[ 3.244831] udev: starting version 149

A na końcu mamy:
HDD

[ 21.657924] Installing knfsd (copyright (C) 1996 okir@monad.swb.de).

SDD

[ 12.598267] Installing knfsd (copyright (C) 1996 okir@monad.swb.de).

Zauważmy, że start systemu na dysku HDD, ten zmierzony stoperem (26 sekund) jest dłuższy niż ten z dmesg’a (21.657924), dzieje się tak, ponieważ jeżeli chodzi o sterowniki/moduły/usługi to (prawie) wszystko się załadowało w 21 sekund, ale menadżer logowania KDE potrzebował jeszcze tych 5 sekund. Przez ten czas był czarny ekran, następnie pojawia się charakterystyczny zegarek na środku ekranu i na końcu ekran logowania – to daje nam 26 sekund.

2 Wykonanie komendy time du -sh

Tą komendę wykonamy sobie w katalogu /usr/portage. Użytkownicy Gentoo wiedzą, że w tej lokalizacji jest bardzo dużo, bardzo małych plików :)
Dokładnie chodzi tutaj o to, aby zmierzyć czas wykonania programu du -sh, który to zwraca wartość odpowiadającą ilości zajętego miejsca przez pliki w danym katalogu, w którym został wykonany (ten program). Trosze zakręciłem, więc na rozjaśnienie:

Widzimy, że dysk HDD potrzebował na obliczenie ile miejsca zajmują pliki w katalogu /usr/portage minutę i bez mała piętnaście sekund.
Panu SSD wystarczyło bez mała osiem sekund.
Drugie i trzecie wywołanie komendy, trwa już znacznie krócej – zwłaszcza dla dysku HDD…

Tak na marginesie, wynik działania programu time sleep 5:

time sleep 5

real 0m5.002s
user 0m0.000s
sys 0m0.002s

Więc można się na nim opierać :)

3 Emerge…

Gentoo users know, że pierwsze uruchomienie tego programu, po uruchomieniu systemu – troszkę trwa.
Dla niewtajemniczonych w tą dystrybucję Linuxa, powiem, że emerge to po prostu taki menadżer za pomocą którego, możemy jednym wywołaniem uaktualnić wszystkie składniki systemu, zainstalować/odinstalować pojedynczą aplikację i tak dalej i tak dalej.
Przejdźmy do sedna sprawy: time emerge -pv dolphin

29 sekund dla HDD i 5 sekund dla SSD.

* * *

Pierwsze trzy punkty, to testy praktyczne. Podsumowując tą część powiem, że działanie systemu na dysku SSD jest zniewalające, wszystko włącza się na bieżąco po sekundzie, dwóch. Pierwsze uruchomienie oowriter’a trwa 3 sekundy. Dosłownie na nic się nie czeka !
Przy kompilacji zauważyłem, że znacznie szybciej wykonywane są “checking for”, “make install” i “merging” no, ale nie ma się co dziwić :)
Dodatkowo “zajęcie” dysku kilkoma operacjami typu: revdep-rebuild, du -sh /, włączanie kilku programów użytkowych na raz, nie sprawia tzw. stuttering’u czyli “zwieszek” systemu. A uruchomienie 12 aplikacji takim skryptem:

#!/bin/bash
oowriter & opera & oocalc & firefox & ktorrent & dolphin & konqueror & smplayer & k3b & avidemux2_qt4 & gimp & wireshark #:)

zajmuje 15 sekund :) (oczywiście jest to pierwsze uruchomienie, zaraz po starcie systemu)

# Film #

Niestety nie wygląda tak jak w rzeczywistości, bo nie widać w nim płynności uruchamiania aplikacji. To pewnie przez tą kompresję w tle. Czasowo jednak wszystko się zgadza…

Ostatnie dwa testy, to benchmarki:

* Uruchomienie skryptu BASH, napisanego przez jednego z użytkowników oczforum (skrypt do pobrania poniżej).
* HDPARM.

4 Test odczytu sekwencyjnego za pomocą # skryptu #

Wszystko widać, nie ma co pisać, to przechodzimy do następnego a zarazem ostatniego punktu.

5 HDPRAM – pomiar transferu dysku

SSD osiągnęło 3 razy lepszy rezultat.

PODSUMOWANIE

Gdybym miał wymienić wady technologi SSD to jednak była by to jeszcze cena, chociaż cena akurat tego modelu jest wyjątkowo atrakcyjna, tak atrakcyjna, że gdy tylko pojawia się w sklepie to po chwili znika – co jest spowodowane również małą ilością tego Kingstona :) Nie wiem, może niedługo Kingston zwiększy nakład…
Dodatkową wadą, o której wiele się mówi to żywotność. Intel określa żywotność swoich dysków na minimum 5 lat – przy zapisie 20GB na dzień…
Trzecią wadą o ile można to nazwać wadą, jest to, że teraz gdy włącza się system, nie można obserwować komunikatów – za szybko przelatują :)

Nie polecił bym tego dysku osobom, które mają zamiar kopiować na niego filmy HD, lub w ogóle używać go jako magazyn danych, bo po pierwsze – 40GB to za mało, a po drugie – zapis sekwencyjny to tylko 40MB/s
To jest dysk, który najlepiej nadaje się na system operacyjny w kolejce zaraz po Intelu. OCZ Vertex, którego zapis sekwencyjny wynosi 135 MB/s jest zdecydowanie słabszy jeżeli chodzi o zapis małych plików (4KB), a to właśnie zapis/odczyt małych plików jest najważniejszy dla systemu. Dodatkowo ważnym parametrem jest IOPS, czyli ilość wykonywanych operacji na sekundę, dyski Intela mają miejscami kilkukrotnie wyższą wydajność od konkurencji w tej dziedzinie.

Zalety o których jeszcze nie pisałem to:

* Brak parszywego rechotu podczas ładowania systemu/włączania programów.
* Bardzo małe zapotrzebowanie na energię: 0.15 W podczas pracy, 0.06 W w stanie uśpienia. (zwykłe dyski 3.5” pobierają od 8 do 15 W w zależności od stanu [idle] [active], dyski energooszczędne w trybie [active] około 5W, w [idle] około 3W)
* Duża odporność na uszkodzenia mechaniczne, co akurat nie ma wielkiego znaczenia w komputerze typu Desktop, ale dla laptopa może być bardzo istotne.

Gdyby ktoś miał jakieś pytania, lub propozycje odnośnie sprawdzenia wydajności w jakimś innym zadaniu, proszę pisać na Kontakt

Pozdrawiam
id87

2 Responses to “Hello SSD …”

  1. No więc obiecany komentarz:) :
    Podoba mi się, że zależało Ci na obiektywności testu chociaż jeżeli nie było ważnego powodu dla którego /home znajdował się poza dyskiem SSD to wg. mnie na przyszłość jednak warto trzymać się spójności testów. wg mnie mogło to nieznacznie wpłynąć na wyniki liczenia zajętości dysku. Niestety ale nie konsekwentność w zapisie i oznaczeniach(spacje, linki, nagłówki) powoduje to poczucie bałaganu.
    Oczywiście czekam na następne wpisy, dostajesz 7 /10 :-)
    PS. kochamy obrazki wiec dodawaj wykresy :) .

  2. Z estetyką zawsze byłem na bakier :D
    A co do home’a. Home znajduje się na dysku SSD, na oddzielnej partycji :) Nawet gdyby tak było (gdyby znajdował by się poza SSD), to nie wpłynęło by to na wynik, lub wpłynęło by, ale w promilach bo program sumował tylko wielkość plików w katalogu /usr/portage :) Nie wiem czy ma jakieś znaczenie zajętość dysku w innych obszarach, przy pomiarze konkretnego kawałka… Dobra nie ważne :P

    Dysk /dev/sda: 40.0 GB, bajtów: 40000000000
    głowic: 255, sektorów/ścieżkę: 63, cylindrów: 4863
    Jednostka = cylindrów, czyli 16065 * 512 = 8225280 bajtów
    Identyfikator dysku: 0xc0749758

    Urządzenie Rozruch Początek Koniec Bloków ID System
    /dev/sda1 * 1 1868 15004678+ 83 Linux
    /dev/sda2 1869 4863 24057337+ 83 Linux

    System plików rozm. użyte dost. %uż. zamont. na
    rootfs 15G 5,5G 8,9G 38% /
    /dev/root 15G 5,5G 8,9G 38% /
    rc-svcdir 1,0M 100K 924K 10% /lib64/rc/init.d
    udev 10M 76K 10M 1% /dev
    shm 1007M 0 1007M 0% /dev/shm
    /dev/sda2 23G 5,7G 16G 27% /home
    tmpfs 1007M 21M 987M 2% /tmp

    Dzięki za komentarz :)

Leave a Reply