Nośniki danych: SSD, HDD i inne
Artykuł
Tomasz Kurzak, Poniedziałek, 4 grudnia 2017, 22:00

AMD NVMe RAID0 – testy syntetyczne (Crystal Disk Mark)

W przeciwieństwie do innych naszych testów do zmierzenia wydajności pojedynczego nośnika, macierzy oraz ich wariantów wspomaganych przez PrimoCache użyliśmy programu Crystal Disk Mark w wersji 5.5.0. Dodano do niego profil przygotowany z myślą o SSD NVMe. Skorzystaliśmy z niego, ale sprawdziliśmy także, jak sprawują się nasze podsystemy dyskowe w czasie testów przeprowadzonych z użyciem pakietów danych różnej wielkości (od 1 GB do 32 GB) i przy różnej długości kolejki poleceń (od QD1 do QD32). Pozwoliło nam to ocenić wszystkie porównywane rozwiązania w różnych scenariuszach.  

Wyniki testu Crystal Disk Mark 5.5.0
(Kliknij na nazwę testu w tabelce, żeby otworzyć wykres)
Sekwencyjny odczyt wielowątkowy Losowy odczyt 4 kB wielowątkowy
Sekwencyjny odczyt jednowątkowy Losowy odczyt 4 kB jednowątkowy

Pierwsza próba pokazuje wydajność testowanych nośników w czasie sekwencyjnego i losowego odczytu danych. W obu przypadkach spodziewaliśmy się, że osiągi macierzy będziemy mogli opisać wzorem N * wydajność najwolniejszego nośnika, gdzie N to liczba SSD w macierzy. Potwierdziły to testy, bo konfiguracja RAID0 złożona z dwóch samsungów 960 Pro jest w tych scenariuszach niemal dwa razy szybsza od pojedynczego SSD. Na wydajność jednego nośnika i macierzy nie ma wpływu rozmiar próbki danych wykorzystanej do testów, co jest zasługą kości MLC, które w przeciwieństwie do TLC nie zwalniają w trakcie odczytu dużej ilości danych. Stąd bardzo poziomy przebieg wykresów.

Inaczej sytuacja wygląda podczas losowego odczytu danych. Pojedynczy SSD i macierz RAID0 zapewniają niemal identyczną wydajność. Ciekawe jest to, że w takich testach macierz okazuje się nieco wolniejsza od pojedynczego SSD. W operacjach jednowątkowych różnice są niewielkie i oscylują w okolicy 2 MB/s, ale kiedy Crystal Disk Mark wykorzystywał wiele wątków, wahały się od 15 MB/s do ponad 30 MB/s. Nie są to jednak różnice, które użytkownik mógłby odczuć.

Niemałym zaskoczeniem była dla nas wydajność w tych samych testach pojedynczego nośnika i macierzy wspomaganych przez PrimoCache. Zdziwiła nas „nieprzewidywalność” rezultatów i duże skoki odczytywanej przez Crystal Disk Mark prędkości podczas testów sekwencyjnych. Wyniki są zdecydowanie lepsze od osiągów tradycyjnej macierzy, co oczywiście cieszy, ale PrimoCache potrafi być kapryśny i bez większych powodów może nie przyspieszać podsystemu dyskowego tak, jak byśmy chcieli. W trakcie dziesiątków testów, które przeprowadziliśmy, nie udało nam się odkryć żadnego wzoru występowania anomalii, przez co nie możemy powiedzieć, dlaczego PrimoCache zachowywał się tak dziwacznie. Z pewnością przyjrzymy się sprawie dokładniej.

Tak czy inaczej, pamięć podręczna utworzona z wykorzystaniem RAM-u okazuje się o wiele wydajniejsza od macierzy. Nawet po przyspieszeniu jednego nośnika wyniki są znacznie lepsze niż w przypadku RAID0. Na uwagę zasługuje także to, że w testach jednowątkowych pojedynczy SSD wspomagany przez PrimoCache jest wydajniejszy od przyspieszonej w ten sam sposób macierzy RAID0. Różnicę najlepiej widać na wykresie przedstawiającym prędkość jednowątkowego sekwencyjnego odczytu danych. 

Wyniki testu Crystal Disk Mark 5.5.0
(Kliknij na nazwę testu w tabelce, żeby otworzyć wykres)
Sekwencyjny zapis wielowątkowy Losowy zapis 4 kB wielowątkowy
Sekwencyjny zapis jednowątkowy Losowy zapis 4 kB jednowątkowy

Sytuacja podobna do opisanej powyżej wystąpiła w testach polegających na zapisywaniu danych. Tradycyjna macierz jest niemal dwukrotnie wydajniejsza od SSD w zapisie sekwencyjnym. RAID0 podczas zapisu losowych danych z użyciem jednego wątku jest ponaddwukrotnie wydajniejszy od pojedynczego SSD, inaczej niż w trakcie odczytu. Podobnie jest po przyspieszeniu porównywanych konfiguracji za pomocą narzędzia PrimoCache: tak macierz, jak i pojedynczy SSD okazują się wydajniejsze od swoich tradycyjnych odpowiedników. Na wykresach można ponadto zauważyć taką samą zależność między testami jedno- i wielowątkowymi. 

Dalsze testy miały sprawdzić, jak skaluje się wydajność testowanych podsystemów dyskowych w zależności od długości kolejki poleceń wydawanych nośnikom przez narzędzie Crystal Disk Mark.

Wyniki testu Crystal Disk Mark 5.5.0
(Kliknij na nazwę testu w tabelce, żeby otworzyć wykres)
Sekwencyjny odczyt wielowątkowy Losowy odczyt 4 kB wielowątkowy
Sekwencyjny odczyt jednowątkowy Losowy odczyt 4 kB jednowątkowy

Wyniki testów przeprowadzonych z użyciem kolejek różnej długości są już nieco bardziej jednolite. Widać to doskonale na przykładzie losowych operacji odczytu danych. W takich scenariuszach tradycyjna macierz nie ma żadnej przewagi nad pojedynczym SSD. Podobną sytuację zaobserwowaliśmy w przypadku podsystemów dyskowych wspomaganych przez PrimoCache. Są one, oczywiście, szybsze od ich tradycyjnych odpowiedników, jednak na różnice w wydajności nie ma większego wpływu to, czy przy danej długości kolejki test odbywa się na pojedynczym SSD czy na macierzy. Warto jednak podkreślić zdecydowaną przewagę nośników przyspieszanych przez PrimoCache nad ich tradycyjnymi odpowiednikami, gdy kolejki składają się z pojedynczych poleceń (QD1).

W trakcie sekwencyjnego odczytu z użyciem jednego wątku sytuacja jest już nieco inna. Pojedynczy SSD i macierz skalują się zgodnie ze wspomnianym przez nas wzorem i na ich wydajność nie ma wpływu długość kolejki poleceń wydawanych kontrolerowi. Jest inaczej, kiedy ten sam test zostaje przeprowadzony z wykorzystaniem jednego wątku. W takim scenariuszu pojedynczy SSD i macierz najlepsze wyniki osiągają od kolejki QD4 wzwyż. Jednak macierz nadal jest niemal dwukrotnie wydajniejsza od pojedynczego SSD.

Podobnie, chociaż nie identycznie, zachowują się podsystemy wspomagane przez PrimoCache. W próbach uwzględniających wiele wątków najlepsze wyniki osiągnęliśmy, gdy kolejka miała długość QD4 i większą; poniżej wartości odczytywane przez Crystal Disk Mark są zdecydowanie mniejsze.

Wyniki testu Crystal Disk Mark 5.5.0
(Kliknij na nazwę testu w tabelce, żeby otworzyć wykres)
Sekwencyjny zapis wielowątkowy Losowy zapis 4 kB wielowątkowy
Sekwencyjny zapis jednowątkowy Losowy zapis 4 kB jednowątkowy

W testach szybkości zapisu danych sytuacja była bardzo podobna. Jedyną wyraźną różnicą w stosunku do wcześniejszych prób była większa wydajność pojedynczego SSD i macierzy w losowym zapisie małej próbki przy użyciu wielu wątków.

Wszystkie testy przeprowadzone przez nas w programie Crystal Disk Mark pozwalają wyciągnąć następujące wnioski:

  • macierz RAID0 jest dwukrotnie wydajniejsza od pojedynczego SSD w sekwencyjnych operacjach na danych, a podczas losowego zapisu małych porcji danych z użyciem jednego wątku różnica sięga 150%;
  • pamięć podręczna dla SSD i macierzy naprawdę działa i zapewnia bardzo dobre, choć czasem nieprzewidywalne, rezultaty;
  • w razie użycia narzędzia PrimoCache nie warto kupować drugiego nośnika SSD, żeby utworzyć macierz wspomaganą przez pamięć podręczną wydzieloną z RAM-u, bo różnice w wydajności mogą nie uzasadnić kosztów.
Ocena artykułu:
Ocen: 7
Zaloguj się, by móc oceniać
Facebook
Ostatnio komentowane