Rosyjski system przechowywania AERODISK: testowanie obciążenia. Wyciskamy IOPS

Rosyjski system przechowywania AERODISK: testowanie obciążenia. Wyciskamy IOPS

Cześć wszystkim! Zgodnie z obietnicą publikujemy wyniki testu obciążeniowego rosyjskiego systemu przechowywania danych – AERODISK ENGINE N2.

W poprzednim artykule zepsuliśmy system przechowywania danych (czyli wykonaliśmy testy zderzeniowe) i wyniki testu zderzeniowego były pozytywne (czyli nie zepsuliśmy systemu przechowywania danych). Możesz zobaczyć wyniki testów zderzeniowych TUTAJ.

W komentarzach do poprzedniego artykułu poproszono o przeprowadzenie dodatkowych, bardziej wyrafinowanych testów zderzeniowych. Nagraliśmy je wszystkie i na pewno zaimplementujemy je w którymś z kolejnych artykułów. Jednocześnie w każdej chwili możesz odwiedzić nasze laboratorium w Moskwie (przyjechać pieszo lub zrobić to zdalnie przez Internet) i samodzielnie wykonać te badania (możesz nawet wykonać badania pod konkretny projekt :-)). Napisz do nas, rozważymy każdy scenariusz!

Ponadto, jeśli nie jesteś w Moskwie, możesz jeszcze lepiej zapoznać się z naszym systemem magazynowania, biorąc udział w bezpłatnym szkoleniu w centrum kompetencyjnym w najbliższym mieście.

Poniżej znajduje się lista nadchodzących wydarzeń i terminów funkcjonowania centrów kompetencyjnych.

  • Jekaterynburg. 16 maja 2019 r. Seminarium szkoleniowe. Rejestracji można dokonać korzystając z linku: https://aerodisk.promo/ekb/
  • Jekaterynburg. 20 maja – 21 czerwca 2019 r. Centrum Kompetencji. Przyjdź na demonstrację na żywo systemu przechowywania danych AERODISK ENGINE N2 o dowolnej porze pracy. Dokładny adres i link rejestracyjny zostaną podane później. Postępuj zgodnie z informacjami.
  • Nowosybirsk ŚLEDŹ INFORMACJE NA NASZEJ STRONIE lub HUBRA.
    Październik 2019
  • Kazań. ŚLEDŹ INFORMACJE NA NASZEJ STRONIE lub HUBRA.
    Październik 2019
  • Krasnojarsk ŚLEDŹ INFORMACJE NA NASZEJ STRONIE lub HUBRA.
    Listopad 2019

Chcielibyśmy podzielić się jeszcze jedną dobrą wiadomością: w końcu dotarliśmy do celu YouTube kanał, na którym można oglądać filmy z poprzednich wydarzeń. Regularnie publikujemy tam nasze filmy szkoleniowe.

Stanowisko badawcze

Wróćmy zatem do testów. Zmodernizowaliśmy nasz laboratoryjny system pamięci masowej ENGINE N2, instalując dodatkowe dyski SSD SAS, a także adaptery Front-end Fibre Channel 16G. W sposób symetryczny zmodernizowaliśmy serwer, z którego będziemy uruchamiać obciążenie, dodając adaptery FC 16G.

W rezultacie w naszym laboratorium mamy system pamięci masowej z 2 kontrolerami, 24 dyskami SAS SSD 1,6 TB i 3 dyskami DWPD, który jest podłączony za pośrednictwem przełączników SAN do fizycznego serwera Linux za pośrednictwem FC 16G.
Schemat stanowiska badawczego pokazano na poniższym rysunku.

Rosyjski system przechowywania AERODISK: testowanie obciążenia. Wyciskamy IOPS

Metodologia testów

Aby uzyskać najlepszą wydajność dostępu blokowego, użyjemy pul DDP (Dynamic Disk Pool), które kiedyś stworzyliśmy specjalnie dla systemów ALL-FLASH.
Do testów utworzyliśmy dwie jednostki LUN o pojemności 1 TB każda z poziomem ochrony RAID-10. Każdą jednostkę LUN „rozłożymy” na 12 dyskach (w sumie 24), aby w pełni wykorzystać potencjał każdego z zainstalowanych dysków w systemie przechowywania danych.

Prezentujemy jednostki LUN serwerowi za pośrednictwem różnych kontrolerów, aby maksymalnie wykorzystać zasoby pamięci masowej.

Każdy z testów będzie trwał godzinę, a testy zostaną wykonane przez program Elastic IO (FIO), dane FIO zostaną automatycznie przesłane do Excela, w którym dla przejrzystości zbudowane są już wykresy.

Załaduj profile

W sumie wykonamy trzy testy, po godzinie każdy, nie licząc czasu nagrzewania, na który przeznaczymy 15 minut (dokładnie tyle potrzeba, aby rozgrzać tablicę 24 dysków SSD). Testy te emulują najczęściej spotykane profile obciążenia, w szczególności są to niektóre systemy DBMS, systemy nadzoru wideo, transmisje treści multimedialnych i kopie zapasowe.

Ponadto we wszystkich testach celowo wyłączyliśmy możliwość buforowania w pamięci RAM w systemie pamięci masowej i na hoście. Oczywiście pogorszy to wyniki, ale naszym zdaniem w takich warunkach test będzie bardziej sprawiedliwy.

Wyniki testu

Próba nr 1. Losowe obciążenie w małych blokach. Emulacja transakcyjnego systemu DBMS o dużym obciążeniu.

  • Rozmiar bloku = 4 tys
  • Odczyt/zapis = 70%/30%
  • Liczba prac = 16
  • Głębokość kolejki = 32
  • Załaduj znak = Pełny losowy

Rosyjski system przechowywania AERODISK: testowanie obciążenia. Wyciskamy IOPS

Rosyjski system przechowywania AERODISK: testowanie obciążenia. Wyciskamy IOPS

Wyniki testów:

Rosyjski system przechowywania AERODISK: testowanie obciążenia. Wyciskamy IOPS

W sumie dzięki młodszemu systemowi Engine N2 średniej klasy uzyskaliśmy 438 tys. IOPS przy opóźnieniu 2,6 milisekundy. Biorąc pod uwagę klasę systemu, naszym zdaniem wynik jest całkiem przyzwoity. Aby zrozumieć, czy jest to limit dla systemu, przyjrzymy się wykorzystaniu zasobów kontrolerów pamięci masowej.

Nas interesuje przede wszystkim procesor, ponieważ, jak wspomniano powyżej, celowo wyłączyliśmy pamięć podręczną RAM, aby nie zniekształcić wyników testu.

Na obu kontrolerach pamięci widzimy mniej więcej ten sam obraz.

Rosyjski system przechowywania AERODISK: testowanie obciążenia. Wyciskamy IOPS

Oznacza to, że obciążenie procesora wynosi 50%. Sugeruje to, że jest to dalekie od ograniczeń tego systemu przechowywania i nadal można go łatwo skalować. Przejdźmy trochę do przodu: wszystkie poniższe testy wykazały również obciążenie procesorów kontrolera na poziomie około 50%, więc nie będziemy ich ponownie wymieniać.

Z naszych testów laboratoryjnych wynika, że ​​komfortowy limit systemu AERODISK Engine N2, jeśli policzymy losowe IOPS w 4k blokach, wynosi ~700 000 IOPS. Jeśli to mało i trzeba powalczyć o milion to mamy starszy model ENGINE N4.

Czyli historia o milionach IOPS to ENGINE N4, a jeśli milion to dla Ciebie za dużo, to spokojnie użyj N2.

Wróćmy do testów.

Próba nr 2. Nagrywanie sekwencyjne w dużych blokach. Emulacja systemów monitoringu wizyjnego, ładowanie danych do analitycznego systemu DBMS lub rejestrowanie kopii zapasowych.

W tym teście nie interesują nas już IOPS, ponieważ ładowane sekwencyjnie w dużych blokach nie mają żadnego sensu. Nas interesują przede wszystkim: przepływ zapisu (w megabajtach na sekundę) i opóźnienia, które oczywiście będą większe przy dużych blokach niż przy małych.

  • Rozmiar bloku = 128 tys
  • Odczyt/zapis = 0%/100%
  • Liczba prac = 16
  • Głębokość kolejki = 32
  • Załaduj znak – sekwencyjnie

Rosyjski system przechowywania AERODISK: testowanie obciążenia. Wyciskamy IOPS

Rosyjski system przechowywania AERODISK: testowanie obciążenia. Wyciskamy IOPS

Rosyjski system przechowywania AERODISK: testowanie obciążenia. Wyciskamy IOPS

Razem: mamy nagranie o szybkości pięciu i pół gigabajta na sekundę z opóźnieniami wynoszącymi jedenaście milisekund. W porównaniu z najbliższymi zagranicznymi konkurentami wynik naszym zdaniem jest znakomity i nie jest też granicą systemu ENGINE N2.

Próba nr 3. Odczyt sekwencyjny w dużych blokach. Emulacja nadawania treści multimedialnych, generowanie raportów z analitycznego systemu DBMS lub przywracanie danych z kopii zapasowych.

Podobnie jak w poprzednim teście, interesuje nas przepływ i opóźnienia.

  • Rozmiar bloku = 128 tys
  • Odczyt/zapis = 100%/0%
  • Liczba prac = 16
  • Głębokość kolejki = 32
  • Załaduj znak – sekwencyjnie

Rosyjski system przechowywania AERODISK: testowanie obciążenia. Wyciskamy IOPS

Rosyjski system przechowywania AERODISK: testowanie obciążenia. Wyciskamy IOPS

Rosyjski system przechowywania AERODISK: testowanie obciążenia. Wyciskamy IOPS

Wydajność odczytu strumieniowego jest przewidywalnie nieco lepsza niż wydajność zapisu strumieniowego.

Co ciekawe, wskaźnik opóźnienia jest identyczny w całym teście (linia prosta). Nie jest to błąd, przy czytaniu sekwencyjnym w dużych blokach jest to w naszym przypadku częsta sytuacja.

Oczywiście, jeśli zostawimy system w tej formie na kilka tygodni, w końcu zobaczymy na wykresach okresowe skoki, co będzie związane z czynnikami zewnętrznymi. Ale ogólnie nie mają one wpływu na obraz.

odkrycia

Z dwukontrolerowego systemu AERODISK ENGINE N2 udało nam się osiągnąć całkiem poważne wyniki (~438 000 IOPS i ~5-6 gigabajtów na sekundę). Testy obciążeniowe pokazały, że zdecydowanie nie wstydzimy się naszego systemu przechowywania. Wręcz przeciwnie, wskaźniki są bardzo przyzwoite i odpowiadają dobremu systemowi przechowywania.

Chociaż, jak pisaliśmy powyżej, Engine N2 jest modelem juniorskim, a poza tym wyniki pokazane w tym artykule nie są jego limitem. Później opublikujemy podobny test z naszego starszego systemu ENGINE N4.

Oczywiście nie jesteśmy w stanie opisać w jednym artykule wszystkich możliwych testów, dlatego ponownie zachęcamy czytelników do dzielenia się w komentarzach swoimi życzeniami dotyczącymi przyszłych testów, na pewno uwzględnimy je w przyszłych publikacjach.

Dodatkowo przypominamy, że w tym roku aktywnie angażujemy się w szkolenia, dlatego zapraszamy do naszych centrów kompetencyjnych, gdzie można odbyć szkolenie z systemów przechowywania AERODISK, a przy tym ciekawie i miło spędzić czas.

Powielam informacje o nadchodzących wydarzeniach szkoleniowych.

  • Jekaterynburg. 16 maja 2019 r. Seminarium szkoleniowe. Rejestracji można dokonać korzystając z linku: https://aerodisk.promo/ekb/
  • Jekaterynburg. 20 maja – 21 czerwca 2019 r. Centrum Kompetencji. Przyjdź na demonstrację na żywo systemu przechowywania danych AERODISK ENGINE N2 o dowolnej porze pracy. Dokładny adres i link rejestracyjny zostaną podane później. Postępuj zgodnie z informacjami.
  • Nowosybirsk ŚLEDŹ INFORMACJE NA NASZEJ STRONIE lub HUBRA.
    Październik 2019
  • Kazań. ŚLEDŹ INFORMACJE NA NASZEJ STRONIE lub HUBRA.
    Październik 2019
  • Krasnojarsk ŚLEDŹ INFORMACJE NA NASZEJ STRONIE lub HUBRA.
    Listopad 2019

Źródło: www.habr.com

Dodaj komentarz