Share via


Prestaties verbeteren voor SMB Azure-bestandsshares

In dit artikel wordt uitgelegd hoe u de prestaties voor premium SMB Azure-bestandsshares kunt verbeteren, waaronder het gebruik van SMB meerdere kanalen en caching van metagegevens (preview).

Van toepassing op

Bestands sharetype SMB NFS
Standaardbestandsshares (GPv2), LRS/ZRS Nee Nr.
Standaardbestandsshares (GPv2), GRS/GZRS Nee Nr.
Premium bestandsshares (FileStorage), LRS/ZRS Ja Nr.

Prestaties optimaliseren

Met de volgende tips kunt u de prestaties optimaliseren:

  • Zorg ervoor dat uw opslagaccount en uw client zich in dezelfde Azure-regio bevinden om de netwerklatentie te verminderen.
  • Gebruik toepassingen met meerdere threads en verspreid de belasting over meerdere bestanden.
  • Prestatievoordelen van SMB Meerdere kanalen verhogen met het aantal bestanden dat de belasting distribueert.
  • Prestaties van Premium-share zijn afhankelijk van de ingerichte sharegrootte (IOPS/uitgaand/inkomend verkeer) en limieten voor één bestand. Zie Inrichten voor Premium-bestandsshares voor meer informatie.
  • De maximale prestaties van één VM-client zijn nog steeds gebonden aan VM-limieten. Standard_D32s_v3 kan bijvoorbeeld ondersteuning bieden voor een maximale bandbreedte van 16.000 MBps (of 2GBps), uitgaand verkeer van de VIRTUELE machine (schrijfbewerkingen naar opslag) is niet naar gebruik, inkomend verkeer (leesbewerkingen uit opslag). Prestaties van bestandsshares zijn onderhevig aan netwerklimieten van computers, CPU's, interne opslagbandbreedte, IO-grootten, parallellisme en andere factoren.
  • De eerste test is meestal een opwarmer. Verwijder de resultaten en herhaal de test.
  • Als de prestaties worden beperkt door één client en de workload nog steeds onder de ingerichte sharelimieten ligt, kunt u hogere prestaties bereiken door de belasting over meerdere clients te spreiden.

De relatie tussen IOPS, doorvoer en I/O-grootten

Doorvoer = IO-grootte * IOPS

Hogere I/O-grootten zorgen voor een hogere doorvoer en hebben hogere latenties, wat resulteert in een lager aantal netto-IOPS. Kleinere I/O-grootten leiden tot hogere IOPS, maar leiden tot lagere nettodoorvoer en latenties. Zie Inzicht in de prestaties van Azure Files voor meer informatie.

SMB Multikanaal

Met SMB meerdere kanalen kan een SMB 3.x-client meerdere netwerkverbindingen tot stand brengen met een SMB-bestandsshare. Azure Files ondersteunt SMB meerdere kanalen op Premium-bestandsshares (bestandsshares in het type FileStorage-opslagaccount) voor Windows-clients. Aan de servicezijde is SMB Meerdere kanalen standaard uitgeschakeld in Azure Files, maar er zijn geen extra kosten verbonden aan het inschakelen ervan.

Vergoedingen

Met SMB meerdere kanalen kunnen clients meerdere netwerkverbindingen gebruiken die betere prestaties bieden en tegelijkertijd de eigendomskosten verlagen. Verbeterde prestaties worden bereikt via bandbreedteaggregatie over meerdere NIC's en gebruikmaken van RSS-ondersteuning (Receive Side Scaling) voor NIC's om de I/O-belasting over meerdere CPU's te verdelen.

  • Verhoogde doorvoer: met meerdere verbindingen kunnen gegevens parallel worden overgedragen via meerdere paden, waardoor workloads die gebruikmaken van grotere bestandsgrootten met grotere I/O-grootten aanzienlijk worden verbeterd en hoge doorvoer van één VIRTUELE machine of een kleinere set VIRTUELE machines vereist. Sommige van deze workloads omvatten media en entertainment voor het maken of transcodering, genomics en risicoanalyse van financiële diensten.
  • Hogere IOPS: de NIC RSS-functie maakt effectieve belastingdistributie mogelijk over meerdere CPU's met meerdere verbindingen. Dit helpt bij het bereiken van een hogere IOPS-schaal en een effectief gebruik van VM-CPU's. Dit is handig voor workloads met kleine I/O-grootten, zoals databasetoepassingen.
  • Netwerkfouttolerantie: meerdere verbindingen beperken het risico op onderbrekingen omdat clients niet langer afhankelijk zijn van een afzonderlijke verbinding.
  • Automatische configuratie: wanneer SMB meerdere kanalen is ingeschakeld voor clients en opslagaccounts, kan deze dynamische detectie van bestaande verbindingen mogelijk maken en indien nodig extra verbindingspaden maken.
  • Kostenoptimalisatie: workloads kunnen een hogere schaal bereiken vanaf één VIRTUELE machine of een kleine set virtuele machines, terwijl er verbinding wordt gemaakt met Premium-shares. Dit kan de totale eigendomskosten verminderen door het aantal VM's te verminderen dat nodig is om een workload uit te voeren en te beheren.

Raadpleeg de Windows-documentatie voor meer informatie over SMB Meerdere kanalen.

Deze functie biedt betere prestatievoordelen voor toepassingen met meerdere threads, maar helpt doorgaans niet bij toepassingen met één thread. Zie de sectie Prestatievergelijking voor meer informatie.

Beperkingen

SMB meerdere kanalen voor Azure-bestandsshares heeft momenteel de volgende beperkingen:

  • Alleen ondersteund op Windows-clients die gebruikmaken van SMB 3.1.1. Zorg ervoor dat de SMB-clientbesturingssystemen worden gepatcht op aanbevolen niveaus.
  • Momenteel niet ondersteund of aanbevolen voor Linux-clients.
  • Het maximum aantal kanalen is vier, zie hier voor meer informatie.

Configuratie

SMB meerdere kanalen werkt alleen wanneer de functie is ingeschakeld aan zowel clientzijde (uw client) als aan de servicezijde (uw Azure-opslagaccount).

Op Windows-clients is SMB Meerdere kanalen standaard ingeschakeld. U kunt uw configuratie controleren door de volgende PowerShell-opdracht uit te voeren:

Get-SmbClientConfiguration | Select-Object -Property EnableMultichannel

In uw Azure-opslagaccount moet u SMB meerdere kanalen inschakelen. Zie SMB meerdere kanalen inschakelen.

SMB meerdere kanalen uitschakelen

In de meeste scenario's, met name workloads met meerdere threads, moeten clients betere prestaties zien met SMB Meerdere kanalen. Voor sommige specifieke scenario's, zoals workloads met één thread of voor testdoeleinden, kunt u SMB meerdere kanalen uitschakelen. Zie Prestatievergelijking voor meer informatie.

Controleren of SMB meerdere kanalen juist is geconfigureerd

  1. Maak een nieuwe Premium-bestandsshare of gebruik een bestaande Premium-share.
  2. Zorg ervoor dat uw client SMB meerdere kanalen ondersteunt (voor een of meer netwerkadapters is schaalaanpassing aan de ontvangstzijde ingeschakeld). Raadpleeg de Windows-documentatie voor meer informatie.
  3. Koppel een bestandsshare aan uw client.
  4. Genereer belasting met uw toepassing. Een kopieerprogramma, zoals robocopy/MT, of een prestatiehulpprogramma zoals Diskspd om bestanden te lezen/schrijven, kan belasting genereren.
  5. Open PowerShell als beheerder en gebruik de volgende opdracht: Get-SmbMultichannelConnection |fl
  6. Zoek naar de eigenschappen MaxChannels en CurrentChannels.

Schermopname van resultaten get-SMBMultichannel Verbinding maken ion.

Prestatievergelijking

Er zijn twee categorieën lees-/schrijfworkloadpatronen: één thread en meerdere threads. De meeste workloads gebruiken meerdere bestanden, maar er kunnen specifieke use cases zijn waarbij de workload met één bestand in een share werkt. In deze sectie worden verschillende use cases behandeld en de invloed op de prestaties voor elk van deze gevallen. Over het algemeen zijn de meeste werkbelastingen met meerdere threads en distribueren ze workload over meerdere bestanden, zodat ze aanzienlijke prestatieverbeteringen met SMB meerdere kanalen moeten observeren.

  • Meerdere threads/meerdere bestanden: afhankelijk van het workloadpatroon ziet u een aanzienlijke prestatieverbetering bij het lezen en schrijven van I/Os via meerdere kanalen. De prestatieverbeteringen variëren van 2x tot 4x in termen van IOPS, doorvoer en latentie. Voor deze categorie moet SMB Meerdere kanalen zijn ingeschakeld voor de beste prestaties.
  • Meerdere threads/één bestand: Voor de meeste gebruiksscenario's in deze categorie profiteren workloads van het gebruik van SMB meerdere kanalen, met name als de werkbelasting een gemiddelde I/O-grootte > van ongeveer 16k heeft. Enkele voorbeeldscenario's die baat hebben bij SMB meerdere kanalen zijn back-up of herstel van één groot bestand. Een uitzondering waarbij u SMB meerdere kanalen wilt uitschakelen, is als uw werkbelasting zwaar is voor kleine I/Os. In dat geval ziet u mogelijk een licht prestatieverlies van ~10%. Afhankelijk van de use-case kunt u overwegen om de belasting over meerdere bestanden te spreiden of de functie uit te schakelen. Zie de sectie Configuratie voor meer informatie.
  • Eén thread/meerdere bestanden of één bestand: Voor de meeste workloads met één thread zijn er minimale prestatievoordelen vanwege gebrek aan parallelle uitvoering. Meestal is er een lichte prestatievermindering van ~10% als SMB meerdere kanalen is ingeschakeld. In dit geval is het ideaal om SMB meerdere kanalen uit te schakelen, met één uitzondering. Als de workload met één thread de belasting over meerdere bestanden kan verdelen en een gemiddelde grotere I/O-grootte (> ~16k) gebruikt, moet er lichte prestatievoordelen zijn van SMB Meerdere kanalen.

Configuratie van prestatietest

Voor de grafieken in dit artikel is de volgende configuratie gebruikt: één Standard D32s v32s v3-VM met één NIC met RSS-functionaliteit met vier kanalen. De belasting is gegenereerd met behulp van diskspd.exe, meerdere threads met IO-diepte van 10 en willekeurige I/Os met verschillende I/O-grootten.

Tekengrootte vCPU Geheugen: GiB Tijdelijke opslag (SSD) GiB Max. aantal gegevensschijven Maximale doorvoer in cache en tijdelijke opslag: IOPS/MBps (cachegrootte in GiB) Maximale schijfdoorvoer zonder cache: IOPS/MBps Max. aantal NIC's Verwachte netwerkbandbreedte (Mbps)
Standard_D32s_v3 32 128 256 32 64000/512 (800) 51200/768 8 16000

Schermopname van de configuratie van de prestatietest.

Meerdere threads/meerdere bestanden met SMB meerdere kanalen

De belasting is gegenereerd op basis van 10 bestanden met verschillende IO-grootten. De testresultaten voor omhoog schalen toonden aanzienlijke verbeteringen in zowel IOPS- als doorvoertestresultaten met SMB meerdere kanalen ingeschakeld. In de volgende diagrammen ziet u de resultaten:

Diagram van prestaties.

Diagram van doorvoerprestaties.

  • Op één NIC werd voor leesbewerkingen prestatieverhoging van 2x-3x waargenomen en voor schrijfbewerkingen 3x-4x in termen van zowel IOPS als doorvoer.
  • Met SMB meerdere kanalen zijn IOPS en doorvoer toegestaan om VM-limieten te bereiken, zelfs met één NIC en de limiet van vier kanalen.
  • Omdat uitgaand verkeer (of leesbewerkingen naar opslag) niet wordt gemeten, kon leesdoorvoer de gepubliceerde VM-limiet van 16.000 Mbps (2 GiB/s) overschrijden. De test bereikte >2.7 GiB/s. Inkomend verkeer (of schrijfbewerkingen naar opslag) zijn nog steeds onderhevig aan VM-limieten.
  • Het spreiden van de belasting over meerdere bestanden is toegestaan voor aanzienlijke verbeteringen.

Een voorbeeldopdracht die in deze test wordt gebruikt, is:

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 .

Workloads met meerdere threads/één bestand met SMB meerdere kanalen

De belasting is gegenereerd op basis van één 128 GiB-bestand. Als SMB meerdere kanalen is ingeschakeld, heeft de test omhoog schalen met meerdere threads/enkelvoudige bestanden in de meeste gevallen verbeteringen laten zien. In de volgende diagrammen ziet u de resultaten:

Diagram van IOPS-prestaties.

Diagram van prestaties van één bestandsdoorvoer.

  • Op één NIC met een grotere gemiddelde I/O-grootte (> ~16k) waren er aanzienlijke verbeteringen in zowel lees- als schrijfbewerkingen.
  • Voor kleinere I/O-grootten was er een kleine impact van ~10% op de prestaties met SMB Meerdere kanalen ingeschakeld. Dit kan worden verzacht door de belasting over meerdere bestanden te spreiden of de functie uit te schakelen.
  • De prestaties zijn nog steeds gebonden aan limieten voor één bestand.

Caching van metagegevens voor Premium SMB-bestandsshares

Caching van metagegevens is een verbetering voor SMB Azure Premium-bestandsshares die zijn gericht op het verminderen van de latentie van metagegevens, het verhogen van de beschikbare IOPS en het verhogen van de netwerkdoorvoer. Deze preview-functie verbetert de volgende metagegevens-API's en kan worden gebruikt vanuit zowel Windows- als Linux-clients:

  • Maken
  • Startkoers
  • Sluiten
  • Delete

Als u zich wilt onboarden, meldt u zich aan voor de openbare preview en krijgt u aanvullende informatie. Deze preview-functie is momenteel alleen beschikbaar voor premium SMB-bestandsshares (bestandsshares in het type FileStorage-opslagaccount). Er zijn geen extra kosten verbonden aan het gebruik van deze functie.

Regionale beschikbaarheid

Momenteel is de preview-versie van de metagegevenscache alleen beschikbaar in de volgende Azure-regio's.

  • Australië - oost
  • Brazilië - zuidoost
  • Frankrijk - zuid
  • Duitsland - west-centraal
  • Zwitserland - noord
  • UAE - centraal
  • VAE - noord
  • US - west-centraal

Prestatieverbeteringen met caching van metagegevens

De meeste workloads of gebruikspatronen die metagegevens bevatten, kunnen profiteren van caching van metagegevens. Als u wilt bepalen of uw workload metagegevens bevat, kunt u Azure Monitor gebruiken om de transacties te splitsen op API-dimensie.

Typische workloads met veel metagegevens en gebruikspatronen zijn onder andere:

  • Web-/app-services
  • DevOps-taken
  • Indexeren/batchtaken
  • Virtuele bureaubladen met basismappen of andere werkbelastingen die voornamelijk communiceren met veel kleine bestanden, mappen of ingangen

In de volgende diagrammen ziet u mogelijke resultaten.

Latentie van metagegevens verminderen

Door bestands- en mappaden in de cache op te slaan voor toekomstige zoekacties, kan caching van metagegevens de latentie verminderen voor veelgebruikte bestanden en mappen met 30% of meer voor workloads met veel metagegevens op schaal.

Grafiek met latentie in milliseconden met en zonder metagegevenscache.

Beschikbare IOPS verhogen

Caching van metagegevens kan de beschikbare IOPS met meer dan 60% verhogen voor workloads met veel metagegevens op schaal.

Grafiek met beschikbare IOPS met en zonder caching van metagegevens.

Netwerkdoorvoer verhogen

Caching van metagegevens kan de netwerkdoorvoer met meer dan 60% verhogen voor workloads met veel metagegevens op schaal.

Grafiek met netwerkdoorvoer met en zonder metagegevenscache.

Volgende stappen