Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Usługa Blob Storage obsługuje teraz protokół 3.0 systemu plików sieciowych (NFS). Ten artykuł zawiera zalecenia, które pomagają w optymalizowaniu wydajności żądań dotyczących magazynowania. Aby dowiedzieć się więcej o obsłudze systemu plików NFS 3.0 dla usługi Azure Blob Storage, zobacz Obsługa protokołu sieciowego systemu plików (NFS) 3.0 dla usługi Azure Blob Storage.
Dodawanie klientów w celu zwiększenia przepływności
Usługa Azure Blob Storage skaluje się liniowo, dopóki nie osiągnie maksymalnego limitu ruchu wychodzącego i przychodzącego konta magazynu. W związku z tym aplikacje mogą uzyskać większą przepływność przy użyciu większej liczby klientów. Aby wyświetlić limity ruchu wychodzącego i ruchu przychodzącego konta magazynu, zobacz Cele skalowalności i wydajności dla standardowych kont magazynu.
Na poniższym wykresie pokazano, jak zwiększa się przepustowość w miarę dodawania kolejnych klientów. Na tym wykresie klient to maszyna wirtualna (VM) z kontem magazynu ogólnego przeznaczenia w wersji 2 (standardowy typ).
Na poniższym wykresie przedstawiono ten sam efekt, gdy zastosowano go do konta przechowywania typu Premium dla blokowych obiektów blob.
Używaj kont magazynu bloków obiektów blob w warstwie Premium dla aplikacji o małej skali
Nie wszystkie aplikacje mogą być skalowane w górę, dodając więcej klientów. W przypadku tych aplikacji konto magazynu blokowych blobów Azure Premium oferuje spójną niską latencję i wysokie szybkości transakcji. Konto blokowej pamięci masowej typu blob na poziomie Premium może osiągnąć maksymalną przepustowość przy mniejszej liczbie wątków i klientów. Na przykład w przypadku pojedynczego klienta konto magazynu blokowych obiektów blob w warstwie Premium może osiągnąć przepustowość 2,3 x w porównaniu z tą samą konfiguracją używaną ze standardowym kontem magazynu ogólnego przeznaczenia w wersji 2.
Każdy słupek na poniższym wykresie przedstawia różnicę w osiągniętej przepustowości między kontami magazynowymi o wydajności premium i standardowej. Wraz ze wzrostem liczby klientów ta różnica się zmniejsza.
Zwiększanie rozmiaru odczytu z wyprzedzeniem w celu zwiększenia przepływności odczytu dużych plików
Parametr jądra read_ahead_kb reprezentuje ilość dodatkowych danych, które powinny być odczytywane po spełnieniu danego żądania odczytu. Ten parametr można zwiększyć do 16 MiB, aby zwiększyć przepływność odczytu dużych plików.
export AZMNT=/your/container/mountpoint
echo 16384 > /sys/class/bdi/0:$(stat -c "%d" $AZMNT)/read_ahead_kb
Unikaj częstego zastępowania danych
Ukończenie operacji zastępowania trwa dłużej niż nowa operacja zapisu. Wynika to z faktu, że operacja nadpisywania NFS, zwłaszcza częściowa edycja pliku na miejscu, jest kombinacją kilku podstawowych operacji na danych: odczytu, modyfikacji i zapisu. W związku z tym aplikacja, która wymaga częstych edycji w miejscu, nie jest odpowiednia dla kont magazynu obiektów blob z obsługą systemu plików NFS.
Wdrażanie usługi Azure HPC Cache dla aplikacji wrażliwych na opóźnienia
Niektóre aplikacje mogą wymagać małych opóźnień oprócz wysokiej przepływności. Możesz wdrożyć usługę Azure HPC Cache , aby znacznie zwiększyć opóźnienie. Dowiedz się więcej o opóźnieniu w usłudze Blob Storage.
Zwiększ liczbę połączeń TCP
Możesz użyć nconnect opcji instalacji, aby uzyskać większą zagregowaną wydajność odczytu i zapisu z pojedynczej maszyny wirtualnej, ale tylko wtedy, gdy jądro systemu Linux ma obsługę połączeń nconnect platformy Azure.
nconnect to opcja instalacji systemu Linux po stronie klienta, która umożliwia korzystanie z wielu połączeń TCP między klientem a punktem końcowym usługi Blob. Możesz użyć nconnect opcji w poleceniu instalacji, aby określić liczbę połączeń TCP, które chcesz utworzyć (na przykład: mount -t aznfs -o nconnect=16,sec=sys,vers=3,nolock,proto=tcp <storage-account-name>.blob.core.windows.net:/<storage-account-name>/<container-name> /nfsdatain).
Ważne
Podczas gdy najnowsze dystrybucje systemu Linux w pełni obsługują połączenie nconnect, należy użyć tej opcji tylko wtedy, gdy jądro ma obsługę programu Azure nconnect.
nconnect Użycie opcji instalacji bez obsługi programu Azure nconnect spowoduje zmniejszenie przepływności, spowoduje przekroczenie wielu limitów czasu i spowoduje nieprawidłowe działanie poleceń, takich jak READDIR i READIRPLUS .
Obsługa programu Azure nconnect jest dostępna w przypadku większości najnowszych jąder systemu Ubuntu, których można używać z maszynami wirtualnymi platformy Azure. Aby dowiedzieć się, czy obsługa funkcji Azure nconnect jest dostępna dla jądra, uruchom następujące polecenie.
[ -e /sys/module/sunrpc/parameters/enable_azure_nconnect ] && echo "Yes" || echo "No"
Jeśli obsługa programu Azure nconnect jest dostępna dla jądra, Yes zostanie wydrukowane na konsoli. W przeciwnym razie 'No zostanie wydrukowany na konsolę.
Jeśli obsługa programu Azure nconnect jest dostępna, włącz ją, uruchamiając następujące polecenie.
echo Y > /sys/module/sunrpc/parameters/enable_azure_nconnect
Inne zalecenia dotyczące najlepszych rozwiązań
Używaj maszyn wirtualnych z wystarczającą przepustowością sieci.
Używaj wielu punktów instalacji, gdy zezwalają na to obciążenia.
Użyj jak największej liczby wątków.
Użyj dużych rozmiarów bloków.
Wysyłaj żądania magazynu z klienta znajdującego się w tym samym regionie co konto magazynu. Może to poprawić opóźnienie sieci.
Następne kroki
Aby dowiedzieć się więcej o obsłudze systemu plików NFS 3.0 dla usługi Azure Blob Storage, zobacz Obsługa protokołu sieciowego systemu plików (NFS) 3.0 dla usługi Azure Blob Storage.
Aby rozpocząć, zobacz Instalowanie usługi Blob Storage przy użyciu protokołu sieciowego systemu plików (NFS) 3.0.