Dela via


Förbättra prestanda för SMB Azure-filresurser

Den här artikeln beskriver hur du kan förbättra prestanda för Premium SMB Azure-filresurser, inklusive användning av SMB Multichannel och cachelagring av metadata (förhandsversion).

Gäller för

Typ av filresurs SMB NFS
Standardfilresurser (GPv2), LRS/ZRS Nej Nej
Standardfilresurser (GPv2), GRS/GZRS Nej Nej
Premiumfilresurser (FileStorage), LRS/ZRS Ja Nej

Optimera prestanda

Följande tips kan hjälpa dig att optimera prestanda:

  • Se till att ditt lagringskonto och din klient finns i samma Azure-region för att minska nätverksfördröjningen.
  • Använd program med flera trådar och sprid belastningen över flera filer.
  • Prestandafördelarna med SMB Multichannel ökar med antalet filer som distribuerar belastning.
  • Premium-resursprestandan är bunden av etablerad resursstorlek (IOPS/utgående/ingress) och gränser för enskilda filer. Mer information finns i Förstå etablering för premiumfilresurser.
  • Högsta prestanda för en enskild virtuell datorklient är fortfarande bunden till VM-gränser. Till exempel kan Standard_D32s_v3 ha stöd för en maximal bandbredd på 16 000 Mbit/s (eller 2 Gbit/s), utgående från den virtuella datorn (skrivningar till lagring) mäts, ingress (läsningar från lagring) är inte det. Filresursprestanda omfattas av datornätverksgränser, processorer, tillgänglig nätverksbandbredd för intern lagring, I/O-storlekar, parallellitet och andra faktorer.
  • Det första testet är vanligtvis en uppvärmning. Ignorera resultaten och upprepa testet.
  • Om prestandan begränsas av en enskild klient och arbetsbelastningen fortfarande ligger under etablerade resursgränser kan du uppnå högre prestanda genom att sprida belastningen över flera klienter.

Relationen mellan IOPS-, dataflödes- och I/O-storlekar

Dataflöde = I/O-storlek * IOPS

Högre I/O-storlekar ger högre dataflöde och har högre svarstider, vilket resulterar i ett lägre antal netto-IOPS. Mindre I/O-storlekar ger högre IOPS, men ger lägre nettogenomflöde och svarstider. Mer information finns i Förstå Prestanda för Azure Files.

SMB Multichannel

SMB Multichannel gör det möjligt för en SMB 3.x-klient att upprätta flera nätverksanslutningar till en SMB-filresurs. Azure Files stöder SMB Multichannel på Premium-filresurser (filresurser i fillagringskontotypen) för Windows-klienter. På tjänstsidan är SMB Multichannel inaktiverat som standard i Azure Files, men det finns ingen extra kostnad för att aktivera den.

Från och med juli 2024 aktiveras SMB Multichannel som standard för alla nyligen skapade Azure-lagringskonton i följande regioner:

  • Australien, centrala
  • Brasilien, sydöstra
  • Östra Kanada
  • Södra Frankrike
  • Asien, östra
  • Sydostasien
  • Indien, centrala (Jio)
  • Indien, västra (Jio)
  • Västra Indien
  • Japan, östra
  • Japan, västra
  • Södra Korea
  • Europa, norra
  • Europa, västra
  • Västra Norge
  • Södra Storbritannien

Förmåner

Med SMB Multichannel kan klienter använda flera nätverksanslutningar som ger bättre prestanda samtidigt som ägandekostnaden sänks. Ökad prestanda uppnås genom bandbreddsaggregering över flera nätverkskort och användning av RSS-stöd (Receive Side Scaling) för nätverkskort för att distribuera I/O-belastningen över flera processorer.

  • Ökat dataflöde: Flera anslutningar gör att data kan överföras över flera sökvägar parallellt och därmed avsevärt gynna arbetsbelastningar som använder större filstorlekar med större I/O-storlekar och kräver högt dataflöde från en enskild virtuell dator eller en mindre uppsättning virtuella datorer. Några av dessa arbetsbelastningar omfattar media och underhållning för innehållsskapande eller transkodning, genomik och riskanalys för finansiella tjänster.
  • Högre IOPS: NIC RSS-funktionen möjliggör effektiv belastningsfördelning över flera processorer med flera anslutningar. Detta hjälper till att uppnå högre IOPS-skalning och effektiv användning av VM-processorer. Detta är användbart för arbetsbelastningar som har små I/O-storlekar, till exempel databasprogram.
  • Feltolerans för nätverk: Flera anslutningar minskar risken för avbrott eftersom klienter inte längre förlitar sig på en enskild anslutning.
  • Automatisk konfiguration: När SMB Multichannel är aktiverat på klienter och lagringskonton möjliggör det dynamisk identifiering av befintliga anslutningar och kan skapa tilläggsanslutningssökvägar efter behov.
  • Kostnadsoptimering: Arbetsbelastningar kan uppnå högre skala från en enskild virtuell dator eller en liten uppsättning virtuella datorer vid anslutning till premiumresurser. Detta kan minska den totala ägandekostnaden genom att minska antalet virtuella datorer som krävs för att köra och hantera en arbetsbelastning.

Mer information om SMB Multichannel finns i Windows-dokumentationen.

Den här funktionen ger större prestandafördelar för program med flera trådar, men hjälper vanligtvis inte program med en tråd. Mer information finns i avsnittet Prestandajämförelse .

Begränsningar

SMB Multichannel för Azure-filresurser har för närvarande följande begränsningar:

  • Endast tillgängligt för Premium Azure-filresurser. Inte tillgängligt för Azure-standardfilresurser.
  • Stöds endast på Windows-klienter som använder SMB 3.1.1. Se till att SMB-klientoperativsystemen korrigeras till rekommenderade nivåer.
  • Stöds inte för närvarande eller rekommenderas inte för Linux-klienter.
  • Maximalt antal kanaler är fyra. Mer information finns här.

Konfiguration

SMB Multichannel fungerar bara när funktionen är aktiverad på både klientsidan (klienten) och på tjänstsidan (ditt Azure-lagringskonto).

På Windows-klienter är SMB Multichannel aktiverat som standard. Du kan verifiera konfigurationen genom att köra följande PowerShell-kommando:

Get-SmbClientConfiguration | Select-Object -Property EnableMultichannel

Om SMB Multichannel inte är aktiverat på ditt Azure-lagringskonto läser du SMB Multichannel-status.

Inaktivera SMB Multichannel

I de flesta scenarier, särskilt arbetsbelastningar med flera trådar, bör klienter se förbättrade prestanda med SMB Multichannel. För vissa specifika scenarier, till exempel enkeltrådade arbetsbelastningar eller i testsyfte, kanske du vill inaktivera SMB Multichannel. Mer information finns i Prestandajämförelse och SMB Multichannel-status .

Kontrollera att SMB Multichannel är korrekt konfigurerat

  1. Skapa en ny Premium-filresurs eller använd en befintlig Premium-resurs.
  2. Se till att klienten har stöd för SMB Multichannel (ett eller flera nätverkskort har skalning på mottagarsidan aktiverat). Mer information finns i Windows-dokumentationen .
  3. Montera en filresurs på klienten.
  4. Generera belastning med ditt program. Ett kopieringsverktyg som robocopy /MT eller något prestandaverktyg som Diskspd för att läsa/skriva filer kan generera belastning.
  5. Öppna PowerShell som administratör och använd följande kommando: Get-SmbMultichannelConnection |fl
  6. Leta efter egenskaper för MaxChannels och CurrentChannels .

Skärmbild av Get-SMBMultichannelConnection-resultat.

Prestandajämförelse

Det finns två kategorier av läs-/skrivarbetsbelastningsmönster: enkeltrådade och flertrådade. De flesta arbetsbelastningar använder flera filer, men det kan finnas specifika användningsfall där arbetsbelastningen fungerar med en enda fil i en resurs. Det här avsnittet beskriver olika användningsfall och prestandapåverkan för var och en av dem. I allmänhet är de flesta arbetsbelastningar flertrådade och distribuerar arbetsbelastningar över flera filer, så de bör observera betydande prestandaförbättringar med SMB Multichannel.

  • Flertrådade/flera filer: Beroende på arbetsbelastningsmönstret bör du se betydande prestandaförbättringar i läs- och skriv-I/Os över flera kanaler. Prestandaökningarna varierar från var som helst mellan 2 och 4 gånger när det gäller IOPS, dataflöde och svarstid. För den här kategorin bör SMB Multichannel aktiveras för bästa prestanda.
  • Flertrådad/enkel fil: För de flesta användningsfall i den här kategorin kan arbetsbelastningar ha SMB Multichannel aktiverat, särskilt om arbetsbelastningen har en genomsnittlig I/O-storlek > ~16k. Några exempelscenarier som drar nytta av SMB Multichannel är säkerhetskopiering eller återställning av en enda stor fil. Ett undantag där du kanske vill inaktivera SMB Multichannel är om din arbetsbelastning är tung på små I/Os. I så fall kan du observera en liten prestandaförlust på ~10 %. Beroende på användningsfallet kan du överväga att sprida belastningen över flera filer eller inaktivera funktionen. Mer information finns i avsnittet Konfiguration .
  • Enkeltrådade/flera filer eller en enda fil: För de flesta arbetsbelastningar med en tråd finns det minsta möjliga prestandafördelar på grund av bristande parallellitet. Vanligtvis sker en liten prestandaförsämring på ~10 % om SMB Multichannel är aktiverat. I det här fallet är det perfekt att inaktivera SMB Multichannel, med ett undantag. Om den enkeltrådade arbetsbelastningen kan distribuera belastningen över flera filer och använder i genomsnitt större I/O-storlek (> ~16k) bör det finnas små prestandafördelar med SMB Multichannel.

Konfiguration av prestandatest

För diagrammen i den här artikeln användes följande konfiguration: En enda virtuell Standard D32s v3-dator med ett enda RSS-aktiverat nätverkskort med fyra kanaler. Belastningen genererades med hjälp av diskspd.exe, flera trådar med I/O-djup på 10 och slumpmässiga I/Os med olika I/O-storlekar.

Storlek vCPU Minne: GiB Temporär lagring (SSD) GiB Maximalt antal datadiskar Maximalt cachelagrat och temporärt dataflöde för lagring: IOPS/MBIT/s (cachestorlek i GiB) Maximalt oanslutet diskdataflöde: IOPS/MBIT/s Maximalt antal nätverkskort Förväntad nätverksbandbredd (Mbit/s)
Standard_D32s_v3 32 128 256 32 64000/512 (800) 51200/768 8 16000

Skärmbild som visar konfigurationen av prestandatestet.

Flertrådade/flera filer med SMB Multichannel

Belastningen genererades mot 10 filer med olika I/O-storlekar. Testresultaten för uppskalning visade betydande förbättringar i både IOPS- och dataflödestestresultat med SMB Multichannel aktiverat. Följande diagram visar resultatet:

Diagram över prestanda.

Diagram över dataflödesprestanda.

  • För läsningar på ett enda nätverkskort observerades en prestandaökning på 2x-3x och för skrivningar, vinster på 3x-4x när det gäller både IOPS och dataflöde.
  • SMB Multichannel tillät IOPS och dataflöde att nå VM-gränser även med ett enda nätverkskort och gränsen för fyra kanaler.
  • Eftersom utgående (eller läsningar till lagring) inte mäts kan läsdataflödet överskrida den virtuella datorns publicerade gräns på 16 000 Mbit/s (2 GiB/s). Testet uppnådde >2,7 GiB/s. Inkommande (eller skrivningar till lagring) omfattas fortfarande av VM-gränser.
  • Sprida belastning över flera filer som tillåts för betydande förbättringar.

Ett exempelkommando som används i den här testningen är:

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 .

Multi-threaded/single file-arbetsbelastningar med SMB Multichannel

Belastningen genererades mot en enda 128 GiB-fil. Med SMB Multichannel aktiverat visade uppskalningstestet med flertrådade/enskilda filer förbättringar i de flesta fall. Följande diagram visar resultatet:

Diagram över IOPS-prestanda.

Diagram över prestanda för dataflöde för en enda fil.

  • På ett enda nätverkskort med större genomsnittlig I/O-storlek (> ~16k) fanns det betydande förbättringar i både läsningar och skrivningar.
  • För mindre I/O-storlekar var det en liten effekt på ~10 % på prestanda med SMB Multichannel aktiverat. Detta kan minimeras genom att belastningen sprids över flera filer eller genom att funktionen inaktiveras.
  • Prestandan är fortfarande bunden av begränsningar för enskilda filer.

Cachelagring av metadata för Premium SMB-filresurser

Cachelagring av metadata är en förbättring för SMB Azure Premium-filresurser som syftar till att minska svarstiden för metadata, öka tillgänglig IOPS och öka nätverkets dataflöde. Den här förhandsgranskningsfunktionen förbättrar följande metadata-API:er och kan användas från både Windows- och Linux-klienter:

  • Skapa
  • Öppnats
  • Stäng
  • Delete

Registrera dig för den offentliga förhandsversionen så ger vi dig ytterligare information. För närvarande är den här förhandsgranskningsfunktionen endast tillgänglig för Premium SMB-filresurser (filresurser i fillagringskontotypen). Det finns inga ytterligare kostnader för att använda den här funktionen.

Regional tillgänglighet

För närvarande är förhandsversionen av metadatacachelagring endast tillgänglig i följande Azure-regioner.

  • Australien, östra
  • Brasilien, sydöstra
  • Södra Frankrike
  • Tyskland, västra centrala
  • Schweiz, norra
  • Förenade Arabemiraten, centrala
  • Förenade Arabemiraten, norra
  • USA, västra centrala

Prestandaförbättringar med cachelagring av metadata

De flesta arbetsbelastningar eller användningsmönster som innehåller metadata kan dra nytta av cachelagring av metadata. För att avgöra om din arbetsbelastning innehåller metadata kan du använda Azure Monitor för att dela upp transaktionerna efter API-dimension.

Vanliga metadataintensiva arbetsbelastningar och användningsmönster är:

  • Webb-/apptjänster
  • DevOps-uppgifter
  • Indexering/batchjobb
  • Virtuella skrivbord med hemkataloger eller andra arbetsbelastningar som främst interagerar med många små filer, kataloger eller referenser

Följande diagram visar potentiella resultat.

Minska svarstiden för metadata

Genom att cachelagra fil- och katalogsökvägar för framtida sökningar kan metadatacachelagring minska svarstiden för filer och kataloger som används ofta med 30 % eller mer för metadataintensiva arbetsbelastningar i stor skala.

Diagram som visar svarstid i millisekunder med och utan cachelagring av metadata.

Öka tillgänglig IOPS

Cachelagring av metadata kan öka tillgänglig IOPS med mer än 60 % för metadataintensiva arbetsbelastningar i stor skala.

Diagram som visar tillgänglig IOPS med och utan cachelagring av metadata.

Öka nätverkets dataflöde

Cachelagring av metadata kan öka nätverkets dataflöde med mer än 60 % för metadataintensiva arbetsbelastningar i stor skala.

Diagram som visar nätverksdataflöde med och utan cachelagring av metadata.

Nästa steg