Przez długie lata osoby zarządzające infrastrukturą serwerową bagatelizowały tzw. problem wąskiego gardła. Polegał on na tym, że serwery wyposażone w mocne procesory i wystarczająco dużo RAM nie mogły odpowiednio wydajnie przetwarzać informacji, ponieważ komunikowały się z dyskami, które nie były w stanie dostatecznie szybko przesyłać danych do jednostki obliczeniowej.

Nie ma to aż tak dużego znaczenia w wypadku storage’u obiektowego, gdzie po prostu wyciągamy i wkładamy całe struktury danych. Jednak w wypadku operacji wykonywanych przez system operacyjny lub bazę danych wydajność zapisu i odczytu poszczególnych bloków jest kluczowa i może stanowić o szybkości działania całego rozwiązania. Innymi słowy, wydajność dysku będzie determinowała to, czy nasz RAM i procesor dostaną wystarczająco szybko i dużo danych, by działać z pełną mocą.

Podstawowe parametry wydajności dysków

Dyski są opisywane wieloma parametrami, ale na potrzeby ich wydajności względem innych komponentów serwera używa się najczęściej dwóch:

  • Przepustowość dysku – ile danych w ciągu jednej sekundy możemy odczytać lub zapisać na dysku (mierzy się ją najczęściej w MB/s lub GB/s),
  • Szybkość dysku – ile operacji zapisu i odczytu możemy wykonać na dysku w ciągu jednej sekundy (mierzy się ją w IOPS).

Dla przykładu, tradycyjny dysk HDD z łączem SATA zapewnia przepustowość na poziomie 100–150 MB/s i szybkość na poziomie 50–80 IOPS. Oznacza to, że w ciągu jednej sekundy procesor może na nim zapisać lub odczytać dane maksymalnie 80 razy, a każda porcja danych będzie miała maksymalnie 1,8 MB (150 MB/s podzielone przez 80 IOPS). Oczywiście, im mniej IOPS wykorzystujemy w danej sekundzie, tym większą porcję danych możemy zapisać – maksymalnie 1 porcję danych o wielkości 150 MB w ciągu sekundy.

Ewolucja dysków

Nie będziemy się wchodzili zbyt głęboko w historię pamięci masowych. Jednymi ze starszych, ale wciąż powszechnie wykorzystywanych urządzeń dyski HDD (Hard Disk Drive). Z powodu ich konstrukcji (głowica odczytująca dane z kręcącego się talerza) sprawia, że wydajność takich napędów jest niska – jak już wcześniej wspomnieliśmy nie przekracza ok. 150 MB/s i 80 IOPS.

Jak łatwo sobie wyobrazić, takie dyski nie nadają się do operacji, które wymagają szybkiego dostępu do bloków informacji, a więc ich zastosowanie zostało zredukowane głównie do zadań związanych z obiektowym zapisem informacji. Napędy HDD sprawdzają się zatem jako rozwiązanie do przechowywania backupów lub innych struktur obiektowych, np. zdjęć. Głównym czynnikiem sprawiającym, że są wciąż w użyciu, jest ich relatywnie niska cena.

Największym skokiem technologicznym ostatnich lat w dziedzinie pamięci masowych są bez wątpienia dyski SSD (Solid State Drive). Zastąpiły one elektromagnetyczne rozwiązania HDD, wprowadzając na rynek technologię półprzewodnikową, dzięki której dane przechowuje się w tzw. komórkach. Dyski SSD zostały pozbawione elementów mechanicznych, a komórki przechowujące dane mogą przyjmować wiele stanów.

Wszystkie te rozwiązania sprawiły, że urządzenia te przyniosły długo wyczekiwany przełom w wydajności, zapewniając przepustowość na poziomie średnio 550 MB/s a szybkość – ok. 5000 IOPS. Dodajmy, że dyski SSD – by zachować kompatybilność z używanym sprzętem – są często wyposażane w port komunikacyjny SATA, co znacząco ogranicza ich możliwości w zastosowaniach profesjonalnych.

 

Dyski NVMe. Prawdziwa rewolucja

Nie bez powodu wspomnieliśmy w ostatnim akapicie o ograniczeniach portu komunikacyjnego w dyskach SSD. Otóż w pewnym momencie okazało się, że rozwój pamięci masowych ogranicza nie tylko ich wewnętrzna konstrukcja, lecz także sposób ich komunikacji z innymi komponentami serwera. Innymi słowy, dyski SSD zaczęły się rozwijać tak szybko, że pojawiło się nowe wąskie gardło – protokół transmisji SATA (Serial AT Attachment).

I na tym polu również doczekaliśmy się przełomu. Wysłużony protokół SATA został zamieniony na nowszy i oferujący nieporównywalnie większe możliwości protokół PCI Express (Peripheral Component Interconnect Express), tym samym dając zupełnie nowe możliwości dyskom SSD, m.in.:

  • Niskie opóźnienia dotyczące poleceń zapisu i odczytu (dyskom NVMe zabiera jedynie ok. 0,03 ms, by zacząć odczytywać lub zapisywać dane po tym, jak dotarło do nich takie polecenie. Dla porównania w HDD jest to 13 ms, a SSD – ok. 0,15 ms),
  • Rozbudowane kolejkowanie do 64K zapytań (chodzi o liczbę kolejek oraz zapytań w jednej kolejce, które mogą być wykonywane jednocześnie),
  • Paralelny zapis danych (możliwość wykonywania jednocześnie wielu zapisów w komórkach pamięci pochodzących z jednej kolejki).

Dzięki wyposażeniu dysków SSD w nowoczesny interfejs komunikacyjny PCI Express powstały dyski, które dziś nazywamy NVMe. W tym miejscu warto jeszcze rozszyfrować samą nazwę. NVMe to skrót od Non-Volatile Memory Express, co można tłumaczyć jako „nieulotna pamięć typu express”. Oznacza to, że mamy do czynienia z pamięcią, która nie potrzebuje stałego źródła zasilania do tego, by utrzymać zapisane na niej dane, a na dodatek została wyposażona w interfejs komunikacyjny typu PCI Express.

Wydajność dysków NVMe

Zniesienie ograniczeń SATA okazało się strzałem w dziesiątkę. Dyski NVMe biją na głowę we wszystkich testach nie tylko zamierzchłych przodków (HDD), lecz także klasyczne rozwiązania SSD. Rynkowe średniaki osiągają przepustowość na poziomie 3,5 GB/s w odczycie danych i 1,5 GB/s w zapisie, a szybkość kształtuje się na poziomie 50–400 tys. IOPS. Oczywiście modeli dysków NVMe jest na rynku bardzo wiele – w zależności od ceny te parametry będą się różniły, ale chyba każdy widzi, że skok wydajnościowy jest tutaj olbrzymi.

Dodatkowo warto zapoznać się z wynikami naszych laboratoryjnych testów porównujących najczęściej spotykane obecnie na rynku dyski. Wynika z nich, że spadek prędkości operacji na dyskach NVMe jest praktycznie niezauważalny w porównaniu do spadku prędkości na dyskach SSD, a liczba IOPS jest znacznie większa w nośnikach NVMe.

 

 

 

Dla kogo dyski NVMe?

Jak już wcześniej wspomnieliśmy, dyski NVMe sprawdzą się najlepiej w zastosowaniach, które wymagają szybkiej komunikacji między procesorem i bazą danych. Skorzystają z nich więc przede wszystkim właściciele biznesów e-commerce, dostawcy rozwiązań SaaS i wydawcy popularnych serwisów informacyjnych. Ten rodzaj pamięci będzie także zbawienny dla przedsiębiorców, którzy utrzymują systemy analityczne bazujące na ciągłym zapisywaniu i odczytywaniu informacji z hurtowni danych – ERP, CRM i Business Intelligence.

Na koniec warto podkreślić, że różnica w cenie między klasycznymi dyskami SSD a ich wersją NVMe jest stosunkowo nieduża i na pewno nie odzwierciedla skoku, jaki otrzymujemy, jeśli chodzi o wydajność. Biorąc to pod uwagę, dyski NVMe wydają się dziś rozwiązaniem optymalnym pod każdym względem.

Dodatkowe informacje:

Piotr Piaskowski, Business Development Manager, Data Space, piotr.piaskowski@dataspace.pl, tel. 601-150-895