Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy: ✔️ SMB udostępnienia plików Azure
W tym artykule wyjaśniono, jak zwiększyć wydajność udziałów plików SMB (SSD w warstwie Premium), w tym przy użyciu funkcji SMB Multichannel i buforowania metadanych.
Optymalizacja wydajności
Poniższe porady mogą pomóc w optymalizacji wydajności:
- Upewnij się, że twoje konto magazynu i klient znajdują się w tym samym regionie świadczenia usługi Azure, aby zmniejszyć opóźnienie sieci.
- Używaj aplikacji wielowątowych i rozkładaj obciążenie na wiele plików.
- Korzyści z wydajności funkcji SMB Multichannel zwiększają się wraz z liczbą plików rozkładających obciążenie.
- Wydajność udziału SSD jest ograniczona przez zadeklarowany rozmiar udziału, w tym liczbę operacji we/wy na sekundę, przepustowość oraz limity pojedynczego pliku. Aby uzyskać szczegółowe informacje, zobacz zrozumienie modelu aprowizacji w wersji 1.
- Maksymalna wydajność pojedynczego klienta maszyny wirtualnej jest nadal powiązana z limitami maszyn wirtualnych. Na przykład Standard_D32s_v3 obsługuje maksymalną przepustowość wynoszącą około 1,86 GiB/s. Ruch wychodzący z maszyny wirtualnej (zapisy do magazynu) jest mierzony, ale ruch przychodzący (odczyty z magazynu) nie jest. Wydajność udziału plików zależy od limitów sieci maszyny, procesorów CPU, wewnętrznej pamięci masowej, dostępnej przepustowości sieci, rozmiaru operacji we/wy, równoległości oraz innych czynników.
- Początkowy test jest zwykle rozgrzewką. Odrzuć wyniki i powtórz test.
- Jeśli wydajność jest ograniczona przez jednego klienta, a obciążenie nadal pozostaje poniżej wyznaczonych limitów udziału, można poprawić wydajność, rozkładając obciążenie na wielu klientów.
Relacja między IOPS, przepustowością i rozmiarami we/wy
Przepływność = rozmiar IO * IOPS
Większe rozmiary operacji I/O zwiększają przepustowość i powodują większe opóźnienia, co skutkuje mniejszą liczbą netto IOPS. Mniejsze rozmiary operacji we/wy powodują zwiększenie liczby operacji we/wy na sekundę, ale prowadzą do obniżenia przepustowości i wyższych opóźnień. Aby dowiedzieć się więcej, zobacz Omówienie wydajności usługi Azure Files.
SMB Multichannel
Funkcja SMB Multichannel umożliwia klientowi SMB ustanawianie wielu połączeń sieciowych z udziałem plików SMB, co poprawia przepływność i odporność. Usługa Azure Files obsługuje protokół SMB Multichannel w udziałach plików SSD zarówno dla klientów SMB systemu Windows, jak i Linux. Aby uzyskać informacje o obsługiwanych wersjach systemu operacyjnego Linux i szczegółowej konfiguracji, zobacz sekcję Linux SMB Multichannel.
Obsługa protokołu SMB Multichannel w systemie Linux
Usługa Azure Files obsługuje protokół SMB Multichannel z natywnymi klientami SMB systemu Linux w następujących dystrybucjach:
- Ubuntu 24.04 AKS: 6.8.0-1042
- Maszyny wirtualne z systemem Ubuntu 24.04: 6.14.0-1017
- Maszyny wirtualne z systemem Ubuntu 22.04: 6.8.0-1044
- AzLinux 3.0 (maszyny wirtualne i usługa AKS): 6.6.106.1
- RHEL 9.7: 5.14.0-611.5.1.el9_7
- RHEL 10.1: 6.12.0-124.8.1.el10_1
Ci klienci muszą uruchamiać odpowiedni stos jądra i narzędzia CIFS, które obsługują wiele kanałów. Obsługa funkcji SMB Multichannel w systemie Linux umożliwia skalowanie wydajności podobne do tego w systemie Windows, poprzez ustanowienie wielu równoległych połączeń TCP z tym samym końcowym punktem udziału plików.
Wymagania wstępne
Poniżej przedstawiono wymagania wstępne dotyczące korzystania z funkcji SMB Multichannel w systemie Linux.
- Jądro z włączoną obsługą SMB z wieloma kanałami (zazwyczaj w wersji 6.8 lub nowszej z flagami montowania max_channels=4)
- SMB 3.1.1
- Port 445/TCP otwarty między klientem a punktem końcowym usługi Azure Files
- Upewnij się, że skalowanie po stronie klienta, zwane receive-side scaling (RSS), jest włączone dla obsługi wielu kolejek.
Przykładowe polecenie instalacji
Poniżej przedstawiono przykładowe polecenie instalacji do korzystania z funkcji SMB Multichannel z systemem Linux.
mount -t cifs //<storageaccount>.file.core.windows.net/<share> /mnt/azfiles \
-o vers=3.1.1,username=<account>,password=<key>,dir_mode=0777,file_mode=0777, \
multiuser,serverino,actimeo=30,max_channels=4
Świadczenia
Funkcja SMB Multichannel umożliwia klientom korzystanie z wielu połączeń sieciowych, które zapewniają zwiększoną wydajność, jednocześnie obniżając koszt posiadania. Zwiększona wydajność jest osiągana dzięki agregacji przepustowości za pomocą wielu interfejsów sieciowych (NIC) i wykorzystaniu obsługi skalowania po stronie odbierającej (RSS) dla interfejsów sieciowych w celu rozłożenia obciążenia wejścia/wyjścia (I/O) na wiele procesorów.
- Zwiększona przepływność: Wiele połączeń umożliwia przesyłanie danych równolegle przez wiele ścieżek, co znacznie przynosi korzyści dla obciążeń korzystających z większych rozmiarów plików o większych rozmiarach operacji we/wy i wymagają wysokiej przepływności z jednej maszyny wirtualnej lub mniejszego zestawu maszyn wirtualnych. Niektóre z tych obciążeń obejmują multimedia i rozrywkę na potrzeby tworzenia zawartości lub transkodowania, genomiki i analizy ryzyka usług finansowych.
- Większa liczba operacji we/wy na sekundę: Funkcja RSS karty sieciowej umożliwia efektywne rozłożenie obciążenia między wieloma CPU z wieloma połączeniami. Pomaga to osiągnąć większą skalę IOPS i efektywne wykorzystanie CPU maszyn wirtualnych. Jest to przydatne w przypadku obciążeń, które mają małe rozmiary we/wy, takie jak aplikacje bazy danych.
- Odporność na uszkodzenia sieci: wiele połączeń zmniejsza ryzyko zakłóceń, ponieważ klienci nie korzystają już z pojedynczego połączenia.
- Automatyczna konfiguracja: gdy funkcja SMB Multichannel jest włączona na klientach i kontach magazynu, umożliwia dynamiczne odnajdywanie istniejących połączeń i może w razie potrzeby tworzyć dodatkowe ścieżki połączeń.
- Optymalizacja kosztów: obciążenia mogą osiągnąć wyższą skalę za pomocą pojedynczej maszyny wirtualnej lub małego zestawu maszyn wirtualnych, jednocześnie łącząc się z udziałami plików SSD. Może to zmniejszyć całkowity koszt posiadania, zmniejszając liczbę maszyn wirtualnych niezbędnych do uruchamiania obciążenia i zarządzania nim.
- Skalowanie wydajności klienta systemu Linux: klienci SMB systemu Linux mogą teraz korzystać z wielu kanałów w celu zwiększenia przepływności i liczby operacji we/wy na sekundę podobnych do systemu Windows.
- Spójność międzyplatformowa: umożliwia korzystanie ze środowisk hybrydowych zarówno z klientami systemu Windows, jak i Linux, osiągając optymalną wydajność.
- Odporność: Wiele kanałów poprawia odporność na uszkodzenia w sieci heterogenicznej.
Aby uzyskać więcej informacji na temat funkcji SMB Multichannel, zobacz dokumentację systemu Windows.
Ta funkcja zapewnia większe korzyści z wydajności dla aplikacji wielowątowych, ale zwykle nie pomaga w aplikacjach jednowątkowych. Aby uzyskać więcej informacji, zobacz sekcję Porównanie wydajności.
Ograniczenia
Funkcja SMB Multichannel dla zasobów plików platformy Azure ma obecnie następujące ograniczenia:
- Dostępne tylko dla zasobów udostępnionych SSD. Niedostępne dla udziałów plików Azure HDD.
- Obsługiwane tylko na klientach korzystających z protokołu SMB 3.1.1. Upewnij się, że systemy operacyjne klienta SMB są poprawiane do zalecanych poziomów.
- Maksymalna liczba kanałów wynosi cztery. Aby uzyskać szczegółowe informacje, zobacz tutaj.
Konfiguracja systemu Windows
Funkcja SMB Multichannel działa tylko wtedy, gdy funkcja jest włączona zarówno po stronie klienta (klienta), jak i po stronie usługi (konto usługi Azure Storage).
Na klientach z systemem Windows funkcja SMB Multichannel jest domyślnie włączona. Konfigurację można zweryfikować, uruchamiając następujące polecenie programu PowerShell:
Get-SmbClientConfiguration | Select-Object -Property EnableMultichannel
Jeśli funkcja SMB Multichannel nie jest włączona na koncie usługi Azure Storage, zobacz Stan funkcji SMB Multichannel.
Wyłączanie funkcji SMB Multichannel
W większości scenariuszy, szczególnie w przypadku obciążeń wielowątowych, klienci widzą lepszą wydajność dzięki funkcji SMB Multichannel. Jednak w przypadku niektórych konkretnych scenariuszy, takich jak obciążenia jednowątkowe lub w celach testowych, warto wyłączyć funkcję SMB Multichannel. Aby uzyskać więcej informacji, zobacz Porównanie wydajności i Stan multikanałowego SMB.
Sprawdź, czy funkcja SMB Multichannel jest poprawnie skonfigurowana
- Utwórz nowy udział plików SSD lub użyj istniejącego udziału plików SSD.
- Upewnij się, że klient obsługuje funkcję SMB Multichannel (co najmniej jedna karta sieciowa ma włączone skalowanie po stronie odbioru). Aby uzyskać więcej informacji, zapoznaj się z dokumentacją systemu Windows.
- Zamontuj zasób plików na kliencie.
- Generuj obciążenie przy użyciu aplikacji. Narzędzie do kopiowania, takie jak robocopy /MT, lub dowolne narzędzie wydajności, takie jak Diskspd do odczytu/zapisu plików, może generować obciążenie.
- Otwórz program PowerShell jako administrator i użyj następującego polecenia:
Get-SmbMultichannelConnection |fl - Znajdź właściwości MaxChannels i CurrentChannels.
Porównanie wydajności
Istnieją dwie kategorie wzorców obciążeń odczytu/zapisu: jednowątkowy i wielowątkowy. Większość obciążeń używa wielu plików, ale mogą istnieć konkretne przypadki użycia, w których obciążenie działa z jednym plikiem w udziale. W tej sekcji omówiono różne przypadki użycia i wpływ na wydajność dla każdego z nich. Ogólnie rzecz biorąc, większość obciążeń jest wielowątkowa i dystrybuuje obciążenie w wielu plikach, dlatego powinny obserwować znaczne ulepszenia wydajności dzięki funkcji SMB Multichannel.
- Wiele wątków/wiele plików: w zależności od wzorca obciążenia powinno być widoczne znaczna poprawa wydajności operacji we/wy odczytu i zapisu w wielu kanałach. Wzrost wydajności różni się w zakresie od 2x do 4x w zakresie liczby operacji we/wy na sekundę, przepływności i opóźnień. W tej kategorii należy włączyć funkcję SMB Multichannel w celu uzyskania najlepszej wydajności.
- Wielowątkowy/pojedynczy plik: w większości przypadków użycia w tej kategorii obciążenia korzystają z włączenia funkcji SMB Multichannel, zwłaszcza jeśli średni rozmiar operacji wejścia/wyjścia wynosi ok. 16 kB. Kilka przykładowych scenariuszy, które korzystają z funkcji SMB Multichannel, to tworzenie kopii zapasowych lub odzyskiwanie pojedynczego dużego pliku. Wyjątkiem, w którym możesz chcieć wyłączyć funkcję SMB Multichannel, jest sytuacja, gdy obciążenie dotyczy dużej liczby małych operacji we/wy. W takim przypadku może wystąpić niewielka utrata wydajności ok. 10%. W zależności od przypadku użycia rozważ rozłożenie obciążenia na wiele plików lub wyłączenie funkcji.
- Jednowątkowy/wiele plików lub pojedynczy plik: W przypadku większości obciążeń jednowątkowych zyski wydajności są minimalne z powodu braku możliwości równoległej pracy. Zwykle występuje niewielkie obniżenie wydajności 10%, jeśli włączono funkcję SMB Multichannel. W takim przypadku najlepszym rozwiązaniem jest wyłączenie funkcji SMB Multichannel z jednym wyjątkiem. Jeśli obciążenie jednowątkowe może rozkładać obciążenie na wiele plików i używa średniego większego rozmiaru operacji we/wy (większego niż 16 KiB), wówczas powinny wystąpić niewielkie korzyści wydajnościowe dzięki SMB Multichannel.
Konfiguracja testu wydajnościowego
W przypadku wykresów w tym artykule użyto następującej konfiguracji: pojedyncza maszyna wirtualna Standard D32s v3 z pojedynczą kartą sieciową RSS z czterema kanałami. Obciążenie zostało wygenerowane przy użyciu diskspd.exe, w trybie wielowątkowym z głębokością operacji we/wy wynoszącą 10 oraz losowymi operacjami we/wy o różnych rozmiarach.
Przetwarzanie wielowątkowe i wielu plików z SMB Multichannel
Obciążenie zostało wygenerowane dla 10 plików o różnych rozmiarach operacji wejścia/wyjścia. Wyniki testu skalowania w górę wykazały znaczne ulepszenia zarówno liczby operacji we/wy na sekundę, jak i wyników testu przepływności z włączoną funkcją SMB Multichannel. Na poniższych diagramach przedstawiono wyniki:
- Na pojedynczej karcie sieciowej zaobserwowano wzrost wydajności przy operacjach odczytu o 2x-3x, a przy operacjach zapisu o 3x-4x, zarówno pod względem liczby operacji we/wy na sekundę (IOPS), jak i przepływności.
- SMB Multichannel umożliwiało osiągnięcie limitów IOPS i przepustowości maszyn wirtualnych nawet przy użyciu jednej karty sieciowej i limicie czterech kanałów.
- Ponieważ ruch wychodzący (lub odczyt do magazynu) nie jest mierzony, przepływność odczytu mogła przekroczyć opublikowany limit maszyny wirtualnej w wysokości około 1,86 GiB/s. Test osiągnął wartość większą niż 2,7 GiB /s. Ruch przychodzący (lub zapis w magazynie) nadal podlega limitom maszyn wirtualnych.
- Rozłożenie obciążenia na wiele plików jest dozwolone w celu uzyskania znaczących ulepszeń.
Przykładowe polecenie używane w tym testowaniu to:
diskspd.exe -W300 -C5 -r -w100 -b4k -t8 -o8 -Sh -d60 -L -c2G -Z1G z:\write0.dat z:\write1.dat z:\write2.dat z:\write3.dat z:\write4.dat z:\write5.dat z:\write6.dat z:\write7.dat z:\write8.dat z:\write9.dat .
Obciążenia wielowątkowe i pojedynczy plik z SMB Multichannel
Obciążenie zostało wygenerowane na pojedynczym pliku o rozmiarze 128 GiB. Po włączeniu funkcji SMB Multichannel, test skalowania w górę z wielowątkowymi/pojedynczymi wątkami pokazał ulepszenia w większości przypadków. Na poniższych diagramach przedstawiono wyniki:
- W przypadku pojedynczej karty sieciowej o większym średnim rozmiarze we/wy (większym niż 16 KiB) wprowadzono znaczne ulepszenia operacji odczytu i zapisu.
- W przypadku mniejszych rozmiarów we/wy zaobserwowano nieznaczny wpływ na wydajność z włączoną funkcją SMB Multichannel, wynoszący około 10%. Można temu zapobiec przez rozłożenie obciążenia na wiele plików lub wyłączenie funkcji.
- Wydajność jest nadal powiązana z limitami pojedynczego pliku.
Buforowanie metadanych dla zasobów plików SSD
Buforowanie metadanych to ulepszenie udziałów plików SSD Azure, które zmniejsza opóźnienie metadanych i zwiększa limity skali metadanych. Funkcja zwiększa stabilność opóźnienia i dostępną liczbę operacji we/wy na sekundę oraz poprawia przepustowość sieci.
Ta funkcja poprawia wydajność następujących interfejsów API metadanych. Zarówno klienci systemu Windows, jak i Linux mogą go używać:
- Podniesione limity skalowania metadanych
- Popraw stabilność opóźnienia, dostępną liczbę operacji we/wy na sekundę i zwiększ przepustowość sieci.
Ta funkcja ulepsza następujące interfejsy API metadanych i może być używana zarówno z klientów systemu Windows, jak i Linux:
- Utwórz
- Otwórz
- Zamknij
- Usuń
Obecnie funkcja jest dostępna tylko dla udziałów plików SSD. Korzystanie z tej funkcji nie wiąże się z dodatkowymi kosztami. Możesz również zarejestrować się, aby zwiększyć limity obsługi plików dla udostępnień plików SSD (przegląd).
Rejestrowanie w celu korzystania z funkcji buforowania metadanych
Aby rozpocząć, zarejestruj się w celu uzyskania funkcji przy użyciu witryny Azure Portal lub programu Azure PowerShell.
- Zaloguj się w witrynie Azure Portal.
- Wyszukaj i wybierz Funkcje zapoznawcze.
- Wybierz filtr Typ i wybierz pozycję Microsoft.Storage.
- Wybierz pozycję Azure Premium Files Metadata Cache , a następnie wybierz pozycję Zarejestruj.
Ważne
- Mimo że są wymienione w obszarze Funkcje wersji zapoznawczej, będziemy honorować umowy SLA GA i wkrótce ustawimy to jako domyślne dla wszystkich kont, usuwając potrzebę rejestracji.
- Po zarejestrowaniu usługi AFEC skontaktuj się z nami azfilespreview@microsoft.com , aby uzyskać dalsze instrukcje.
Ulepszenia wydajności dzięki buforowaniu metadanych
Większość obciążeń lub wzorców użycia zawierających metadane może korzystać z buforowania metadanych. Aby określić, czy obciążenie zawiera metadane, możesz użyć usługi Azure Monitor , aby podzielić transakcje według wymiaru interfejsu API.
Typowe obciążenia i wzorce użycia z dużym obciążeniem metadanych obejmują:
- Usługi sieci Web/app
- Zadania metodyki DevOps
- Indeksowanie/zadania wsadowe
- Wirtualne stacje robocze z katalogami domowymi lub innymi obciążeniami, które głównie współdziałają z wieloma małymi plikami, katalogami lub uchwytami.
Na poniższych diagramach przedstawiono potencjalne wyniki.
Zmniejszanie opóźnienia metadanych
Buforując pliki i ścieżki katalogów dla przyszłych wyszukiwań, buforowanie metadanych może zmniejszyć opóźnienia w często używanych plikach i katalogach o 30% lub więcej w przypadku obciążeń z dużym obciążeniem metadanych na dużą skalę.
Zwiększenie dostępnych IOPS
Buforowanie metadanych może zwiększyć dostępną liczbę operacji we/wy na sekundę o ponad 60% w przypadku obciążeń na dużą skalę, które intensywnie wykorzystują metadane.
Zwiększanie przepływności sieci
Buforowanie metadanych może zwiększyć przepływność sieci o ponad 60% w przypadku obciążeń z dużym obciążeniem metadanych na dużą skalę.
Rejestrowanie w celu zwiększenia limitów dojść do plików (wersja zapoznawcza)
Aby zwiększyć maksymalną liczbę współbieżnych dojść na plik i katalog dla udziałów plików SMB SSD z 2000 do 10 000, zarejestruj się w celu uzyskania funkcji w wersji zapoznawczej przy użyciu witryny Azure Portal lub programu Azure PowerShell. Jeśli masz pytania, wyślij wiadomość e-mail na adres azfilespreview@microsoft.com.
- Zaloguj się w witrynie Azure Portal.
- Wyszukaj i wybierz Funkcje zapoznawcze.
- Wybierz filtr Typ i wybierz pozycję Microsoft.Storage.
- Wybierz Zwiększona liczba maksymalna otwartych uchwytów Azure Premium Files, a następnie wybierz Zarejestruj.
Następne kroki
- Sprawdzanie stanu SMB Multichannel
- Zapoznaj się z dokumentacją systemu Windows dotyczącą funkcji SMB Multichannel