Udostępnij za pośrednictwem


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 krawędzi limitów wydajności magazynu generowanie obciążenia musi być wysoce zrównane , aby osiągnąć maksymalne możliwe wyniki.

Oznacza to:

  • jeden do wielu klientów
  • wiele procesorów CPU
  • wiele wątków
  • wykonywanie operacji we/wy do wielu plików
  • połączenia sieciowe wielowątkowa (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óry zazwyczaj jest trendem z szybkością wiersza i/lub ustawieniami QoS pliku Usługi Azure NetApp.

Ponadto buforowanie musi być jak najwięcej zminimalizowane, aby osiągnąć dokładne, reprezentatywne wyniki tego, co może osiągnąć magazyn. Buforowanie jest jednak bardzo prawdziwym narzędziem do wykonywania nowoczesnych aplikacji w najlepszym wydaniu. Te scenariusze obejmują niektóre scenariusze buforowania i buforowanie pomijane dla losowych obciążeń we/wy przy użyciu losowych operacji we/wy przy użyciu losowych opcji obciążenia za pośrednictwem opcji FIO (w szczególności w randrepeat=0 celu zapobiegania buforowaniu w magazynie i directio w celu zapobiegania buforowaniu 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 operacji we/wy na sekundę

Przykłady fio w tej sekcji używają następującej konfiguracji:

  • Rozmiar wystąpienia maszyny wirtualnej: D32s_v3
  • Poziom i rozmiar usługi puli pojemności: Premium / 50 TiB
  • Rozmiar przydziału woluminu: 48 TiB

W poniższych przykładach pokazano losowe operacje odczytu i zapisu FIO.

FIO: 8k rozmiar bloku 100% losowych odczytów

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% losowych 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 przykładach w tej sekcji przedstawiono sekwencyjne operacje odczytu i zapisu fio.

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

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 dla usługi Azure NetApp Files nie zdefiniowano, randrepeat więc 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 powoduje nieco niższą ogólną liczbę, ale jest dokładniejszą reprezentacją możliwości buforowania w przypadku pomijania buforowania.

Następne kroki