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 ujednolica aplikacje do tworzenia kopii zapasowych w ramach „Hyper Data Protection”

Tajpej, Tajwan, grudnia 15, 2025 – Firma QNAP® Systems, Inc. ogłosiła dziś konsolidację swoich aplikacji do…

10 godzin ago

QNAP rozszerza obsługę Airgap+ na wybrane przełączniki

Tajpej, Tajwan, grudnia 10, 2025 – QNAP Systems, Inc., wiodący dostawca rozwiązań obliczeniowych, sieciowych i pamięci…

5 dni ago

QNAP udostępnia wersję beta systemu QuTS hero h6.0 z niezmiennymi migawkami i wieloma innymi funkcjami

Tajpej, Tajwan, listopada 27, 2025 – QNAP® Systems, Inc., wiodący innowator w dziedzinie rozwiązań obliczeniowych, sieciowych…

3 tygodnie ago

QNAP wprowadza myQNAPcloud Surveillance: bezpieczną i skalowalną kopię zapasową w chmurze dla nagrań z monitoringu

Tajpej, Tajwan, listopada 24, 2025 – Firma QNAP® Systems, Inc., wiodący innowator w dziedzinie rozwiązań obliczeniowych,…

3 tygodnie ago

QNAP prezentuje QVR Surveillance: obsługa do 1024 kamer, monitoring w chmurze i sztuczna inteligencja

Tajpej, Tajwan, listopada 21, 2025 – QNAP® Systems, Inc., wiodący innowator w dziedzinie rozwiązań obliczeniowych, sieciowych…

3 tygodnie ago

Synology® wprowadza BC800Z, kamerę typu bullet z zmienną ogniskową i sztuczną inteligencją

19 listopada 2025 r. — Firma Synology ogłasza wprowadzenie na rynek BC800Z, potężnej kamery typu…

4 tygodnie ago