Udostępnij za pomocą


Omówienie metodologii testowania wydajnościowego w usłudze Azure NetApp Files

Narzędzie porównawcze używane w tych testach jest nazywane elastycznym testerem we/wy (FIO).

Podczas testowania granic limitów wydajności pamięci masowej generowanie obciążenia musi być wysoko zrównoleglone, aby osiągnąć maksymalne możliwe wyniki.

Oznacza to:

  • jeden do wielu klientów
  • wiele procesorów
  • wiele wątków
  • wykonywanie operacji we/wy do wielu plików
  • połączenia sieciowe wielowątkowe (takie jak nconnect)

Celem końcowym jest wypchnięcie systemu magazynowania tak daleko, jak to możliwe, zanim operacje muszą zacząć czekać na zakończenie innych operacji. Użycie pojedynczego klienta przechodzącego przez pojedynczy przepływ sieciowy lub odczytywanie/zapisywanie z/do pojedynczego pliku (na przykład przy użyciu narzędzia dd lub diskspd na jednym kliencie) nie dostarcza wyników wskazujących na możliwości usługi Azure NetApp Files. Zamiast tego te konfiguracje pokazują wydajność pojedynczego pliku, która zazwyczaj łączy się z prędkością linii i/lub ustawieniami QoS usługi Azure NetApp File.

Ponadto buforowanie musi być zminimalizowane tak bardzo, jak to możliwe, aby osiągnąć dokładne i reprezentatywne wyniki tego, co może osiągnąć pamięć masowa. Buforowanie jest jednak realnym narzędziem, które umożliwia nowoczesnym aplikacjom osiągać optymalną wydajność. Te scenariusze dotyczą pewnych przypadków użycia buforowania oraz pomijania buforowania dla losowych obciążeń we/wy, poprzez randomizację obciążenia za pomocą opcji FIO (w szczególności randrepeat=0 aby zapobiec buforowaniu w magazynie i directio aby zapobiec buforowaniu po stronie klienta).

Informacje o elastycznym testerze we/wy

Elastyczny tester we/wy (FIO) to narzędzie do generowania obciążeń typu open source, które jest często używane do testów porównawczych magazynu ze względu na łatwość użycia i elastyczność definiowania wzorców obciążeń. Aby uzyskać informacje o jego użyciu z usługą Azure NetApp Files, zobacz Performance benchmark test recommendations for Azure NetApp Files (Zalecenia dotyczące testów porównawczych wydajności dla usługi Azure NetApp Files).

Instalacja FIO

Postępuj zgodnie z sekcją Pakiety binarne w pliku FIO README, aby zainstalować wybraną platformę.

Przykłady FIO dla IOPS

Przykłady FIO w tej sekcji korzystają z następującej konfiguracji:

  • Rozmiar instancji maszyny wirtualnej: D32s_v3
  • Poziom serwisu i rozmiar puli pojemności: Premium / 50 TiB
  • Rozmiar przydziału woluminu: 48 TiB

Poniższe przykłady pokazują losowe odczyty i zapisy FIO.

FIO: rozmiar bloku 8k 100% losowe odczyty

fio --name=8krandomreads --rw=randread --direct=1 --ioengine=libaio --bs=8k --numjobs=4 --iodepth=128 --size=4G --runtime=600 --group_reporting

FIO: 8k rozmiar bloku, 100% losowości zapisów

fio --name=8krandomwrites --rw=randwrite --direct=1 --ioengine=libaio --bs=8k --numjobs=4 --iodepth=128 --size=4G --runtime=600 --group_reporting

Wyniki testu porównawczego

Aby uzyskać oficjalne wyniki testów porównawczych dotyczące sposobu działania fio w usłudze Azure NetApp Files, zobacz Testy porównawcze wydajności usługi Azure NetApp Files dla systemu Linux.

Przykłady FIO dla przepustowości

W tej sekcji przykłady przedstawiają sekwencyjne operacje odczytu i zapisu FIO.

FIO: rozmiar bloku 64k, 100% sekwencyjne odczyty

fio --name=64kseqreads --rw=read --direct=1 --ioengine=libaio --bs=64k --numjobs=4 --iodepth=128 --size=4G --runtime=600 --group_reporting

FIO: 64k rozmiar bloku 100% zapisów sekwencyjnych

fio --name=64kseqwrites --rw=write --direct=1 --ioengine=libaio --bs=64k --numjobs=4 --iodepth=128 --size=4G --runtime=600 --group_reporting

Wyniki testu porównawczego

Aby uzyskać oficjalne wyniki testów porównawczych dotyczące sposobu działania fio w usłudze Azure NetApp Files, zobacz Testy porównawcze wydajności usługi Azure NetApp Files dla systemu Linux.

Buforowanie za pomocą programu FIO

FiO można uruchamiać z określonymi opcjami, aby kontrolować sposób odczytywania i zapisywania plików przez test porównawczy wydajności. W testach porównawczych z wykluczonym buforowaniem flaga randrepeat=0 FIO została użyta do uniknięcia buforowania przez uruchomienie rzeczywistego losowego obciążenia, a nie powtarzającego się wzorca.

[randrepeat]https://fio.readthedocs.io/en/latest/fio_doc.html#i-o-type)

Domyślnie, gdy randrepeat nie jest zdefiniowana, narzędzie FIO ustawia wartość na "true", co oznacza, że dane generowane w plikach nie są naprawdę losowe. W związku z tym pamięci podręczne systemu plików nie są używane do poprawy ogólnej wydajności obciążenia.

We wcześniejszych testach porównawczych usługi Azure NetApp Files randrepeat nie było zdefiniowane, dlatego zaimplementowano buforowanie systemu plików. W bardziej aktualnych testach ta opcja jest ustawiona na wartość "0" (false), aby upewnić się, że w danych istnieje odpowiednia losowość, aby uniknąć buforowania systemu plików w usłudze Azure NetApp Files. Ta modyfikacja skutkuje nieco niższymi ogólnymi liczbami, ale dokładniej odzwierciedla możliwości usługi magazynowania po pominięciu procesu buforowania.

Następne kroki