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ługiwana 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. 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 korzystają one z zalet dużej pamięci podręcznej na potrzeby 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 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
- Najlepsze rozwiązania dotyczące pamięci podręcznej systemu plików systemu plików systemu Linux dla usługi Azure NetApp Files
- Najlepsze rozwiązania dotyczące instalacji systemu plików NFS w systemie Linux dla usługi Azure NetApp Files
- Najlepsze rozwiązania dotyczące współbieżności systemu Linux dla usługi Azure NetApp Files
- Najlepsze rozwiązania dotyczące odczytu systemu plików NFS w systemie Linux
- Najlepsze rozwiązania dotyczące jednostek SKU maszyn wirtualnych platformy Azure
- Testy porównawcze wydajności w systemie Linux