Wydajność serwera – relacja między IOPS i Opóźnieniem

W moich poprzednich postach starałem się wytłumaczyć jak dobrze dobrać serwer NAS do swoich potrzeb, zwracając uwagę na poziom RAID oraz na ilość IOPS i przepustowość. Zwróciłem uwagę na to, że czasami lepiej jest poświęcić przepustowość na korzyść większej ilości IOPS.  Ponieważ obecnie prędkość działania aplikacji uruchamianych w centrach danych jest zależne od liczby IOPS dzięki czemu każda operacja I/O wykonana jest z minimalnym opóźnieniem.

Niestety uzyskanie przydatnych informacji od producentów, czy odczytanie z testów wydajnościowych odnośnie ilości IOPS i opóźnienia nie jest proste. Głównym problemem jest to, że nie ma czegoś takiego jak standardowe operacje I/O. Gdy rozmawiamy o IOPS, musimy bardzo jasno określić dwa parametry wielkość i typ operacji I/O. Często producenci chwalą się, że ich serwery zapewniają IOPS na poziomie 100,000 a nawet 1 miliona, podczas gdy nikt nie wspomina przy jakich parametrach było to mierzone, czy był to ciągły odczyt dla bloków o wielkości 512-bajtów, czy może losowy zapis bloków o wielkości 4K. Należy liczyć się z tym, że parametry zostały dobrane tak, aby wyniki wyglądały dobrze, szkoda tylko, że oficjalnie nie jesteśmy informowanie o wykorzystanych parametrach, a tylko o samych wynikach.

Jakby tego było mało producenci wykonują pomiaru na bardzo małych dyskach logicznych, przy wykorzystaniu prostych programów testujących jak Iometer. W ten sposób, wszystkie lub prawie wszystkie I/O są przesyłane do i z pamięci cache kontrolera zamiast bezpośrednio z dysków, co ma wpływ na zakłamanie wyników.

Nie tylko IOPS jest ważny

Nawet jeżeli serwer dostarcza 1,000,000 IOPS dla bloku 4K przy odczycie/zapisie w stosunku 60/40, chciałbym wiedzieć jakie opóźnienie jest generowane dla każdego miliona IOPS.  Dimitris Krekoukias na swoim blogu przeanalizował Oracle na serwerze dostarczającym 15,000 IOPS ze średnim opóźnieniem 25ms. Baza danych raportowała wysoki poziom opóźnienia I/O mimo iż serwer miał 15,000 IOPS. Po przeliczeniu okazało się, że opóźnienie macierzy powinno być na poziomie 4ms, dopiero wtedy aplikacja będzie działać bez problemów.

Kluczem do zapewnienia odpowiednich warunków dla aplikacji, aby ta pracowała wydajnie jest dostarczenie odpowiednio dużej ilości IOPS, przy zachowaniu małego opóźnienia. Przy doborze macierzy należy pamiętać, że duża ilość IOPS, jednocześnie z dużym poziomem opóźnienia, może mieć poważny wpływ na rzeczywistą wydajność serwera.

Ta relacja między IOPS i opóźnieniem to dobry powód, aby zwracać większą uwagę na wyniki testów wykonywane przez oprogramowanie takie jak JetStressTPC-C czy SPC-1, które testują zarówno IOPS jak i opóźnienie, zamiast opierać się tylko na wynikach Iometer, który potrafi sprawdzić ilość IOPS, ale czasu opóźnienia już nie. Należy pamiętać, aby domagać się od producentów wyników pomiarów tych dwóch bardzo ważnych i jak widać nie od łącznych parametrów. Przykładowo JetStress nie dokończy testu jeżeli opóźnienie przekroczy 20ms, podczas gdy SPC testuje opóźnienia na kilku poziomach obciążenia, a TPC dołącza wyniki średniego „90th percentile” i maksymalnego zmierzonego czasu opóźnienie.

Grzegorz Bielawski

Syn, mąż i ojciec dwójki dzieci. Zawsze mówi co myśli i później często żałuje. Posiada kota i rybki, ale woli psy. Obecnie pracownik firmy QNAP, za kołnierz nigdy nie wylewa :). Lubi polemizować, ale tylko na argumenty.

Recent Posts

QNAP ogłasza długoterminowe wsparcie dla systemów operacyjnych QTS 5.2 i QuTS hero h5.2

Tajpej, Tajwan, listopada 14, 2024 – QNAP® Systems, Inc. potwierdził dziś swoje zaangażowanie w niezawodność produktów…

1 tydzień ago

QNAP wprowadza QVR Recording Vault Beta, darmowe rozwiązanie do tworzenia kopii zapasowych nagrań z monitoringu

Tajpej, Tajwan, września 30, 2024 – QNAP® Systems, Inc., wiodący innowator w dziedzinie rozwiązań obliczeniowych, sieciowych…

2 miesiące ago

QNAP prezentuje funkcję kopii zapasowej „Airgap+”

Tajpej, Tajwan, września 23, 2024 – QNAP® Systems, Inc., wiodący dostawca rozwiązań obliczeniowych, sieciowych i pamięci…

2 miesiące ago

QNAP oficjalnie prezentuje QTS 5.2 z Centrum Zabezpieczeń do monitorowania w czasie rzeczywistym aktywności na plikach

Tajwan, Tajpej, sierpnia 20, 2024 - Firma QNAP® Systems, Inc. (QNAP) oficjalnie ogłosiła dziś wydanie systemu operacyjnego…

3 miesiące ago

QNAP QuTS hero h5.2 w wersji oficjalnej zwiększa wydajność, efektywność i bezpieczeństwo

Tajpej, Tajwan, sierpnia 19, 2024 - Firma QNAP® Systems, Inc. (QNAP) ogłosiła dzisiaj oficjalną premierę QuTS…

3 miesiące ago

QNAP przedstawia QSW-M3224-24T – 24-portowy zarządzany przełącznik 10GbE L3 Lite, zapewniający wysoką dostępność

Tajwan, Tajpej, sierpnia 1, 2024 - QNAP® Systems, Inc., wiodący innowator rozwiązań informatycznych, sieciowych i pamięci…

4 miesiące ago