Udostępnij za pośrednictwem


Testy porównawcze wydajności dużych ilości usługi Azure NetApp Files dla systemu Linux

W tym artykule opisano przetestowane możliwości wydajności pojedynczego dużego woluminu usługi Azure NetApp Files w odniesieniu do przypadków użycia systemu Linux. Testy badały scenariusze zarówno dla obciążeń skalowania w poziomie, jak i skalowania w górę, odczytu i zapisu, obejmujących jedną i wiele maszyn wirtualnych. Znajomość koperty wydajności dużych woluminów ułatwia ustalanie rozmiaru woluminu.

Podsumowanie testowania

  • Funkcja dużych woluminów usługi Azure NetApp Files oferuje trzy poziomy usług, z których każdy ma limity przepływności. Poziomy usług można skalować w górę lub w dół bez zmian w miarę zmian wymagań dotyczących wydajności.

    • Poziom usługi Ultra: 12 800 MiB/s
    • Poziom usługi Premium: 6400 MiB/s
    • Standardowy poziom usług: 1600 MiB/s

    Poziom usługi Ultra został użyty w tych testach.

  • Zapisy sekwencyjne: 100% zapisów sekwencyjnych maksymalnie przekroczyło wartość ok. 8500 miB/sekundy w tych testach porównawczych. (Maksymalna przepływność pojedynczego dużego woluminu jest ograniczona do 12 800 miB/sekundy przez usługę, więc możliwa jest większa potencjalna przepływność).

  • Odczyty sekwencyjne: 100% odczytów sekwencyjnych maksymalnie przekroczyło wartość ok. 12 761 MiB/s w tych testach porównawczych. (Przepływność pojedynczego dużego woluminu jest ograniczona do 12 800 MiB/s. Ten wynik zbliża się do maksymalnej osiągalnej przepływności w tej chwili.

  • Losowe operacje we/wy: ten sam pojedynczy duży wolumin dostarcza ponad 700 000 operacji na sekundę.

  • Obciążenia z dużym obciążeniem metadanych są korzystne dla dużych woluminów usługi Azure NetApp File ze względu na zwiększony równoległość dużego woluminu. Korzyści z wydajności są zauważalne w obciążeniach intensywnie korzystających z tworzenia plików, odłączanie i zmienianie nazw plików w sposób typowy w przypadku aplikacji VCS oraz obciążeń EDA, w których występują duże liczby plików. Aby uzyskać więcej informacji na temat wydajności obciążeń o wysokich metadanych, zobacz Zalety korzystania z usługi Azure NetApp Files na potrzeby automatyzacji projektowania elektronicznego.

  • FiO, syntetyczny generator obciążeń zaprojektowany jako test obciążeniowy magazynu, został użyty do prowadzenia tych wyników testów. Istnieją zasadniczo dwa modele testowania wydajności magazynu:

    • Skalowanie w poziomie zasobów obliczeniowych, które odnosi się do używania wielu maszyn wirtualnych do generowania maksymalnego obciążenia możliwego na jednym woluminie usługi Azure NetApp Files.
    • Skalowanie w górę zasobów obliczeniowych, które odnosi się do używania dużej maszyny wirtualnej do testowania wielkich granic pojedynczego klienta na jednym woluminie usługi Azure NetApp Files.

Test skalowania w poziomie systemu Linux

Testy zaobserwowały progi wydajności pojedynczej dużej ilości w poziomie i przeprowadzono przy użyciu następującej konfiguracji:

Składnik Konfigurowanie
Rozmiar maszyny wirtualnej platformy Azure E32s_v5
Limit przepustowości ruchu wychodzącego maszyny wirtualnej platformy Azure 2000MiB/s (2GiB/s)
System operacyjny RHEL 8.4
Duży rozmiar woluminu 101 TiB Ultra (przepływność 12 800 MiB/s)
Mount options (Opcje instalacji) hard,rsize=65536,wsize=65536,vers=3
UWAGA: Użycie zarówno 262144, jak i 65536 miało podobne wyniki wydajności.

Obciążenia sekwencyjne 256-KiB (MiB/s)

Wykres reprezentuje obciążenie sekwencyjne 256-KiB przy użyciu 12 maszyn wirtualnych odczytu i zapisu w jednym dużym woluminie przy użyciu zestawu roboczego 1 TiB. Wykres pokazuje, że jeden duży wolumin usługi Azure NetApp Files może obsłużyć między około 8518 zapisami sekwencyjnymi MiB/s i 12 761 odczytami sekwencyjnymi MiB/s.

Wykres słupkowy 256-KiB obciążenia sekwencyjnego na dużym woluminie.

8-KiB losowe obciążenie (IOPS)

Wykres reprezentuje losowe obciążenie 8-KiB i zestaw roboczy 1 TiB. Wykres pokazuje, że duży wolumin usługi Azure NetApp Files może obsłużyć około 474 000 czystych losowych zapisów i około 709 000 czystych losowych operacji odczytu.

Wykres słupkowy losowego obciążenia na dużym woluminie.

Testy skalowania w górę systemu Linux

Podczas gdy testy skalowane w poziomie są przeznaczone do znalezienia limitów pojedynczej dużej ilości, testy skalowania w górę zostały zaprojektowane w celu znalezienia górnych limitów pojedynczego wystąpienia w stosunku do określonej dużej ilości. Platforma Azure umieszcza limity ruchu wychodzącego sieci na maszynach wirtualnych; w przypadku magazynu dołączonego do sieci oznacza to, że przepustowość zapisu jest ograniczona na maszynę wirtualną. Te testy skalowania w górę pokazują możliwości, biorąc pod uwagę duży dostępny limit przepustowości i z wystarczającą ilością procesorów do napędzania tego obciążenia.

Testy w tej sekcji zostały uruchomione z następującą konfiguracją:

Składnik Konfigurowanie
Rozmiar maszyny wirtualnej platformy Azure E104id_v5
Limit przepustowości ruchu wychodzącego maszyny wirtualnej platformy Azure 12 500MiB/s (12.2GiB/s)
System operacyjny RHEL 8.4
Duży rozmiar woluminu 101 TiB Ultra (przepływność 12 800 MiB/s)
Mount options (Opcje instalacji) hard,rsize=65536,wsize=65536,vers=3
UWAGA: Użycie obu 262144 i 65536 miało podobne wyniki wydajności

Wykresy w tej sekcji pokazują wyniki opcji instalacji po stronie klienta z nconnect systemem plików NFSv3. Aby uzyskać więcej informacji, zobacz Linux NFS mount options best practices for Azure NetApp File (Najlepsze rozwiązania dotyczące instalacji systemu plików NFS w systemie Linux dla usługi Azure NetApp File).

Poniższe wykresy porównują zalety z nconnect woluminem zainstalowanym w ramach systemu plików NFS bez nconnectsystemu . W testach narzędzie FIO wygenerowało obciążenie z pojedynczego wystąpienia E104id-v5 w regionie platformy Azure Wschodnie stany USA przy użyciu obciążenia sekwencyjnego 64-KiB; Użyto rozmiaru 256 operacji we/wy, co jest największym rozmiarem operacji we/wy zalecanym przez usługę Azure NetApp Files, co spowodowało porównywalną liczbę wydajności. Aby uzyskać więcej informacji, zobacz tematy rsize oraz wsize.

Przepływność odczytu systemu Linux

Na poniższych wykresach przedstawiono sekwencyjne odczyty 256-KiB z około 10 000 mln operacji iB/s z wartością nconnect, która jest mniej więcej dziesięć razy krotnie osiągnięto przepływność bez nconnectwartości .

Należy pamiętać, że wartość 10 000 MiB/s jest w przybliżeniu szybkością linii karty sieciowej 100 Gb/s dołączonej do E104id_v5.

Porównanie przepływności odczytu z nconnect i bez połączenia.

Przepływność zapisu w systemie Linux

Na poniższych wykresach przedstawiono sekwencyjne zapisy. Użycie nconnect zapewnia zauważalne korzyści dla sekwencyjnych zapisów w 6600 MiB/s, mniej więcej cztery razy więcej niż w przypadku instalacji bez nconnect.

Porównanie wykresu słupkowego przepływności zapisu z nconnect i bez tego połączenia.

Liczba operacji we/wy odczytu na sekundę w systemie Linux

Na poniższych wykresach przedstawiono 8-KiB losowe odczyty ok. 426 000 operacji we/wy odczytu na sekundę z wartością nconnect, mniej więcej siedem razy obserwowaną bez nconnectoperacji .

Wykresy porównujące operacje we/wy odczytu z operacjami we/wy na sekundę i bez operacji we/wy na sekundę.

Zapis operacji we/wy na sekundę w systemie Linux

Na poniższych wykresach pokazano 8-KiB losowych zapisów ok. 405 000 operacji we/wy zapisu na sekundę z wartością nconnect, czyli około 7,2 razy, co zaobserwowano bez nconnectoperacji .

Wykresy porównujące operacje we/wy zapisu z operacjami we/wy na sekundę i bez operacji we/wy na sekundę.

Następne kroki