Udostępnij za pośrednictwem


Najlepsze rozwiązania dotyczące bezpośredniego we/wy systemu Linux dla usługi Azure NetApp Files

Ten artykuł ułatwia zrozumienie bezpośrednich najlepszych rozwiązań dotyczących we/wy dla usługi Azure NetApp Files.

Bezpośrednie we/wy

Najczęstszym parametrem używanym w testach porównawczych wydajności magazynu jest bezpośredni we/wy. Jest obsługiwany przez fio i Vdbench. Funkcja DISKSPD oferuje obsługę podobnej konstrukcji mapowanych we/wy pamięci. W przypadku bezpośredniego we/wy pamięć podręczna systemu plików jest pomijana, unika się operacji kopiowania bezpośredniego dostępu do pamięci, a testy magazynu są szybkie i proste.

Użycie bezpośredniego parametru we/wy sprawia, że testowanie magazynu jest łatwe. Żadne dane nie są odczytywane z pamięci podręcznej systemu plików na kliencie. W związku z tym test jest naprawdę podkreślając protokół magazynu i samą usługę, a nie szybkość dostępu do pamięci. Ponadto bez kopii pamięci DMA operacje odczytu i zapisu są wydajne z perspektywy przetwarzania.

Weź polecenie systemu Linux dd jako przykładowe obciążenie. Bez opcjonalnej odirect flagi wszystkie we/wy wygenerowane przez dd program są obsługiwane z pamięci podręcznej buforu systemu Linux. Odczyty z blokami już w pamięci nie są pobierane z magazynu. Operacje odczytu powodujące chybienie pamięci podręcznej buforu kończą się odczytywaniem z magazynu przy użyciu funkcji odczytu systemu plików NFS z różnymi wynikami, w zależności od czynników, jak instalacja rsize i możliwość odczytu klienta z wyprzedzeniem. Gdy zapisy są wysyłane za pośrednictwem pamięci podręcznej buforu, używają mechanizmu zapisu, który jest dostrojony i używa znacznej ilości równoległości do wysyłania danych na urządzenie magazynujące. Możesz podjąć próbę uruchomienia dwóch niezależnych strumieni we/wy, jeden dd dla operacji odczytu i jeden dd dla operacji zapisu. Ale w rzeczywistości system operacyjny, nie dostrojony, faworyzuje zapisy na odczytach i używa bardziej równoległości.

Poza bazą danych niewiele aplikacji używa bezpośrednich operacji we/wy. Zamiast tego decydują się wykorzystać zalety dużej pamięci podręcznej do powtarzających się operacji odczytu i zapisu za pamięcią podręczną na potrzeby asynchronicznych zapisów. Krótko mówiąc, użycie bezpośredniego we/wy zamienia test w mikro benchmark , jeśli aplikacja syntetyzowana używa pamięci podręcznej systemu plików.

Poniżej przedstawiono niektóre bazy danych, które obsługują bezpośrednie we/wy:

  • Oracle
  • SAP HANA
  • MySQL (aparat magazynu InnoDB)
  • RocksDB
  • PostgreSQL
  • Teradata

Najlepsze rozwiązania

Testowanie za pomocą directio usługi to doskonały sposób zrozumienia limitów usługi magazynu i klienta. Aby lepiej zrozumieć, jak działa sama aplikacja (jeśli aplikacja nie używa directio), należy również uruchomić testy za pośrednictwem pamięci podręcznej systemu plików.

Następne kroki