Verbessern der SMB-Azure-Dateifreigabeleistung

In diesem Artikel wird erläutert, wie Sie die Leistung für Premium SMB Azure-Dateifreigaben verbessern können, einschließlich der Verwendung von SMB Multichannel und dem Zwischenspeichern von Metadaten (Vorschau).

Gilt für:

Dateifreigabetyp SMB NFS
Standard-Dateifreigaben (GPv2), LRS/ZRS No No
Standard-Dateifreigaben (GPv2), GRS/GZRS No No
Premium-Dateifreigaben (FileStorage), LRS/ZRS Yes No

Optimieren der Leistung

Die folgenden Tipps können Ihnen helfen, die Leistung zu optimieren:

  • Stellen Sie sicher, dass sich Ihr Speicherkonto und Ihr Client in derselben Azure-Region befinden, um die Netzwerkwartezeit zu reduzieren.
  • Verwenden Sie Multithreadanwendungen, und verteilen Sie die Last auf mehrere Dateien.
  • Die Leistungsvorteile von SMB Multichannel erhöhen sich mit der Anzahl von Dateien, auf die die Last verteilt wird.
  • Die Leistung einer Premium-Freigabe wird durch die bereitgestellte Freigabegröße (IOPS/Ausgang/Eingang) und Grenzwerte für eine einzelne Datei beschränkt. Einzelheiten dazu finden Sie unter Grundlegendes zur Bereitstellung für Premium-Dateifreigaben.
  • Die maximale Leistung eines einzelnen VM-Clients ist weiterhin an VM-Grenzwerte gebunden. Beispielsweise kann Standard_D32s_v3 eine maximale Bandbreite von 16.000 MBit/s (oder 2 GBit/s) unterstützen. Die ausgehenden Vorgänge von der VM (Schreibvorgänge in den Speicher) werden gemessen, eingehende Vorgänge (Lesevorgänge aus dem Speicher) hingegen nicht. Die Leistung der Dateifreigabe hängt unter anderem von den Grenzwerten des Computernetzwerks, den CPUs, dem internen Speicher, der verfügbaren Netzwerkbandbreite, den E/A-Größen und der Parallelität ab.
  • Der erste Test dient in der Regel zum Aufwärmen. Verwerfen Sie die Ergebnisse, und wiederholen Sie den Test.
  • Wenn die Leistung durch einen einzelnen Client beschränkt ist und die Workload noch immer unter den bereitgestellten Freigabegrenzwerten liegt, können Sie eine höhere Leistung erreichen, indem Sie die Last auf mehrere Clients verteilen.

Beziehung zwischen IOPS, Durchsatz und E/A-Größen

Durchsatz = E/A-Größe * IOPS

Höhere E/A-Größen führen zu höherem Durchsatz und zu längeren Wartezeiten, was eine geringere Anzahl von Netto-IOPS zur Folge hat. Geringere E/A-Größen führen zu höheren IOPS, haben aber auch einen geringeren Nettodurchsatz und kürzere Wartezeiten zur Folge. Weitere Informationen finden Sie unter Grundlegendes zur Leistung für Azure Files.

SMB Multichannel

SMB Multichannel ermöglicht einem SMB 3.x-Client das Herstellen mehrerer Netzwerkverbindungen mit einer SMB-Dateifreigabe. Azure Files unterstützt SMB Multichannel auf Premium-Dateifreigaben (Dateifreigaben im Speicherkontotyp „FileStorage“) für Windows-Clients. Auf der Dienstseite ist SMB Multichannel in Azure Files standardmäßig deaktiviert, es fallen jedoch keine zusätzlichen Kosten für die Aktivierung an.

Vorteile

SMB Multichannel ermöglicht es Clients, mehrere Netzwerkverbindungen zu verwenden, die eine bessere Leistung bereitstellen, während gleichzeitig die Betriebskosten gesenkt werden. Bessere Leistung wird durch Bandbreitenaggregation über mehrere NICs und die Verwendung der Unterstützung für die emfpangsseitige Skalierung (Receive Side Scaling, RSS) für NICs erzielt, um die E/A-Last auf mehrere CPUs zu verteilen.

  • Erhöhter Durchsatz: Mehrere Verbindungen ermöglichen das parallele Übertragen von Daten über mehrere Pfade. Davon profitieren diejenigen Workloads erheblich, die größere Dateigrößen mit größeren E/A-Größen verwenden und hohen Durchsatz von einer einzelnen VM oder einer kleineren Gruppe von VMs erfordern. Zu diesen Workloads zählen Medien- und Unterhaltungsdatenflüsse für Inhaltserstellung oder Transcodierung, Genomik und Finanzdienst-Risikoanalyse.
  • Höhere IOPS: Die NIC-RSS-Funktion ermöglicht eine effektive Lastenverteilung auf mehrere CPUs mit mehreren Verbindungen. Dies ermöglicht eine höhere IOPS-Skalierung und eine effektive Auslastung von VM-CPUs. Dies ist für Workloads mit kleinen E/A-Größen nützlich, z. B. für Datenbankanwendungen.
  • Netzwerkfehlertoleranz: Mehrere Verbindungen vermindern das Risiko von Unterbrechungen, da Clients nicht mehr von einer einzelnen Verbindung abhängig sind.
  • Automatische Konfiguration: Wenn SMB Multichannel für Clients und Speicherkonten aktiviert ist, ermöglicht dies die dynamische Ermittlung vorhandener Verbindungen und das Erstellen zusätzlicher Verbindungspfade bei Bedarf.
  • Kostenoptimierung: Workloads können eine höhere Skalierung von einer einzelnen VM oder einer kleinen Gruppe von VMs erreichen, während eine Verbindung mit Premium-Freigaben hergestellt wird. Dies kann die Gesamtbetriebskosten verringern, indem die Anzahl der zum Ausführen und Verwalten einer Workload erforderlichen VMs reduziert wird.

Weitere Informationen zu SMB Multichannel finden Sie in der Windows-Dokumentation.

Diese Funktion bietet größere Leistungsvorteile für Multithreadanwendungen, hilft aber in der Regel Singlethreadanwendungen nicht. Weitere Informationen finden Sie im Abschnitt Leistungsvergleich.

Einschränkungen

SMB Multichannel für Azure-Dateifreigaben weist derzeit die folgenden Einschränkungen auf:

  • Wird nur für Windows-Clients unterstützt, die SMB 3.1.1 verwenden. Stellen Sie sicher, dass die SMB-Clientbetriebssysteme auf empfohlene Ebenen gepatcht sind.
  • Dies wird für Linux-Clients derzeit nicht unterstützt oder empfohlen.
  • Die maximale Anzahl von Kanälen ist vier. Einzelheiten dazu finden Sie hier.

Konfiguration

SMB Multichannel funktioniert nur, wenn die Funktion sowohl auf der Clientseite (Ihr Client) als auch auf der Dienstseite (Ihr Azure-Speicherkonto) aktiviert ist.

SMB Multichannel ist auf Windows-Clients standardmäßig aktiviert. Sie können Ihre Konfiguration überprüfen, indem Sie den folgenden PowerShell-Befehl ausführen:

Get-SmbClientConfiguration | Select-Object -Property EnableMultichannel

In Ihrem Azure-Speicherkonto müssen Sie SMB Multichannel aktivieren. Informationen finden Sie unter Aktivieren von SMB Multichannel.

Deaktivieren von SMB Multichannel

In den meisten Szenarien (insbesondere bei Multithreadworkloads) sollte für Clients eine verbesserte Leistung mit SMB Multichannel auftreten. Für einige spezifische Szenarien (z. B. für Singlethreadworkloads oder zu Testzwecken) möchten Sie jedoch möglicherweise SMB Multichannel deaktivieren. Weitere Informationen finden Sie unter Leistungsvergleich.

Überprüfen, ob SMB Multichannel ordnungsgemäß konfiguriert ist

  1. Erstellen Sie eine Premium-Dateifreigabe, oder verwenden Sie eine vorhandene Premium-Freigabe.
  2. Stellen Sie sicher, dass Ihr Client SMB Multichannel unterstützt (für mindestens einen Netzwerkadapter ist empfangsseitige Skalierung aktiviert). Weitere Informationen finden Sie in der Windows-Dokumentation.
  3. Binden Sie eine Dateifreigabe in Ihren Client ein.
  4. Generieren Sie mit Ihrer Anwendung eine Auslastung. Ein Kopiertool, z. B. robocopy /MT oder ein beliebiges Leistungstool wie Diskspd zum Lesen/Schreiben von Dateien kann eine Auslastung generieren.
  5. Öffnen Sie PowerShell als Administrator, und verwenden Sie den folgenden Befehl: Get-SmbMultichannelConnection |fl
  6. Suchen Sie nach den Eigenschaften MaxChannels und CurrentChannels.

Screenshot of Get-SMBMultichannelConnection results.

Leistungsvergleich

Es gibt zwei Kategorien von Lesen/Schreiben-Workloadmustern: Singlethread und Multithread. Bei den meisten Workloads werden mehrere Dateien verwendet. Es gibt jedoch möglicherweise bestimmte Anwendungsfälle, in denen die Workload eine einzelne Datei in einer Freigabe verwendet. In diesem Abschnitt werden verschiedene Anwendungsfälle und die Leistungsauswirkungen der einzelnen Anwendungsfälle behandelt. Im Allgemeinen sind die meisten Workloads Multithreadanwendungen und verteilen die Workload auf mehrere Dateien, sodass Sie mit SMB Multichannel bedeutende Leistungsverbesserungen bemerken sollten.

  • Multithread/mehrere Dateien: Abhängig vom Workloadmuster sollten Sie eine beträchtliche Leistungsverbesserung in den Lese- und Schreib-E/As über mehrere Kanäle hinweg sehen. Die Leistungssteigerungen variieren in Bezug auf IOPS, Durchsatz und Latenz zwischen doppelter und vierfacher Leistung. Für diese Kategorie sollte SMB Multichannel aktiviert werden, um optimale Leistung zu erzielen.
  • Multithread/einzelne Datei: Für die meisten Anwendungsfälle in dieser Kategorie werden Workloads von der Aktivierung von SMB Multichannel profitieren. Dies gilt insbesondere dann, wenn die Workload über eine durchschnittliche E/A-Größe > ~16K verfügt. Einige Beispielszenarien, die von SMB Multichannel profitieren, sind die Sicherung oder Wiederherstellung einer einzelnen großen Datei. Eine Ausnahme, bei der Sie SMB Multichannel möglicherweise deaktivieren möchten, besteht dann, wenn Ihre Workload viele kleine E/As durchführt. In diesem Fall könnte es zu einem geringfügigen Leistungsverlust von ~10 % kommen. Abhängig vom Anwendungsfall sollten Sie die Last auf mehrere Dateien verteilen oder die Funktion deaktivieren. Weitere Informationen finden Sie im Abschnitt Konfiguration.
  • Singlethread/mehrere Dateien oder einzelne Datei: Bei den meisten Singlethreadworkloads gibt es minimale Leistungsvorteile aufgrund fehlender Parallelität. In der Regel kommt es zu einer geringfügigen Leistungsminderung von ~10 %, wenn SMB Multichannel aktiviert ist. In diesem Fall ist es mit einer Ausnahme ideal, SMB Multichannel zu deaktivieren. Wenn die Singlethreadworkload die Last auf mehrere Dateien verteilen kann und eine durchschnittlich höhere E/A-Größe (> ~16K) verwendet, sollten durch SMB Multichannel geringfügige Leistungsvorteile auftreten.

Leistungstestkonfiguration

Für die Diagramme in diesem Artikel wurde die folgende Konfiguration verwendet: Eine einzelne VM des Typs Standard D32s v3 mit einer einzelnen RSS-fähigen NIC mit vier Kanälen. Die Last wurde mithilfe von „diskspd.exe“, Multithread mit E/A-Tiefe 10 und zufälliger E/A mit verschiedenen E/A-Größen generiert.

Size vCPU Memory: GiB Temporärer Speicher (SSD): GiB Max. Anzahl Datenträger Maximaler Durchsatz (Cache und temporärer Speicher): IOPS/MBit/s (Cachegröße in GiB) Maximaler Durchsatz des Datenträgers ohne Cache: IOPS/MBit/s Maximale Anzahl NICs Erwartete Netzwerkbandbreite (MBit/s)
Standard_D32s_v3 32 128 256 32 64000/512 (800) 51200/768 8 16000

Screenshot that shows the performance test configuration.

Multithreading-/mehrere Dateien mit SMB Multichannel

Die Auslastung wurde für 10 Dateien mit verschiedenen E/A-Größen generiert. Die Testergebnisse für horizontales Hochskalieren zeigten deutliche Verbesserungen bei den IOPS- und Durchsatztestergebnissen mit aktiviertem SMB Multichannel. Die Ergebnisse werden in den folgenden Diagrammen dargestellt:

Diagram of performance.

Diagram of throughput performance.

  • Für eine einzelne NIC wurde für Lesevorgänge eine zwei- bis dreifache Leistungssteigerung beobachtet und für Schreibvorgänge eine zwei- bis vierfache Steigerung in Bezug auf IOPS und Durchsatz.
  • SMB Multichannel ermöglichte es IOPS und Durchsatz, VM-Grenzwerte auch mit einer einzelnen NIC und dem Grenzwert von vier Kanälen zu erreichen.
  • Da ausgehende Vorgänge (oder Lesevorgänge des Speichers) nicht gemessen werden, konnte der Lesedurchsatz den von der VM veröffentlichten Grenzwert von 16.000 MBit/s (2 GiB/s) überschreiten. Beim Test wurden >2,7 GiB/s erzielt. Eingehende Vorgänge (oder Schreibvorgänge in den Speicher) unterliegen weiterhin den VM-Grenzwerten.
  • Das Verteilen der Last auf mehrere Dateien hat für beträchtliche Verbesserungen gesorgt.

Ein Beispielbefehl, der in diesem Test verwendet wurde, ist Folgender:

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 .

Multithread-/Einzeldateiworkloads mit SMB Multichannel

Die Auslastung wurde für eine einzelne 128 GiB-Datei generiert. Bei aktiviertem SMB Multichannel zeigte der Hochskalierungstest mit Multithread/Einzeldateien in den meisten Fällen Verbesserungen. Die Ergebnisse werden in den folgenden Diagrammen dargestellt:

Diagram of IOPS performance.

Diagram of single file throughput performance.

  • Bei einer einzelnen NIC mit größerer durchschnittlicher E/A-Größe (> ~16K) gab es bedeutende Verbesserungen sowohl bei Lese- wie auch Schreibvorgängen.
  • Bei kleineren E/A-Größen gab es eine leichte Auswirkung von ~10 % auf die Leistung bei aktiviertem SMB Multichannel. Dies kann behoben werden, indem Sie die Last auf mehrere Dateien verteilen oder die Funktion deaktivieren.
  • Die Leistung wird weiterhin durch Grenzwerte für eine einzelne Datei beschränkt.

Zwischenspeichern von Metadaten für Premium SMB-Dateifreigaben

Das Zwischenspeichern von Metadaten ist eine Verbesserung für SMB Azure Premium-Dateifreigaben, um die Metadatenwartezeit zu reduzieren, die verfügbare IOPS zu erhöhen und den Netzwerkdurchsatz zu steigern. Diese Previewfunktion verbessert die folgenden Metadaten-APIs und kann sowohl von Windows- als auch Linux-Clients verwendet werden:

  • Erstellen
  • Öffnen Sie den
  • Schließen
  • Löschen

Um dabei zu sein, registrieren Sie sich für die öffentliche Vorschau, und wir stellen Ihnen zusätzliche Details bereit. Derzeit ist diese Previewfunktion nur für Premium SMB-Dateifreigaben (Dateifreigaben des Typs FileStorage-Speicherkonto) verfügbar. Es gibt keine zusätzlichen Kosten bei der Verwendung dieses Features.

Regionale Verfügbarkeit

Derzeit ist die Vorschau für das Zwischenspeichern von Metadaten nur in den folgenden Azure-Regionen verfügbar.

  • Australien (Osten)
  • Brasilien, Südosten
  • Frankreich, Süden
  • Deutschland, Westen-Mitte
  • Schweiz, Norden
  • VAE, Mitte
  • Vereinigte Arabische Emirate, Norden
  • USA, Westen-Mitte

Leistungsverbesserungen beim Zwischenspeichern von Metadaten

Die meisten Workloads oder Verwendungsmuster, die Metadaten enthalten, können vom Zwischenspeichern von Metadaten profitieren. Um festzustellen, ob Ihre Workload Metadaten enthält, können Sie Azure Monitor verwenden, um die Transaktionen nach API-Dimension aufzuteilen.

Zu den typischen Metadaten-lastigen Workloads und Verwendungsmustern gehören:

  • Web-/App-Dienste
  • DevOps-Aufgaben
  • Indizierungs-/Batchaufträge
  • Virtuelle Desktops mit Stammverzeichnissen oder anderen Workloads, die hauptsächlich mit vielen kleinen Dateien, Verzeichnissen oder Handles interagieren

Die folgenden Diagramme zeigen die möglichen Ergebnisse.

Verringern der Metadatenwartezeit

Durch das Zwischenspeichern von Datei- und Verzeichnispfaden für zukünftige Lookups kann das Zwischenspeichern von Metadaten die Wartezeit für Dateien und Verzeichnisse mit häufig verwendeten Dateien und Verzeichnissen um 30 % oder mehr reduzieren, wenn es sich um Metadaten-lastige Workloads im großen Stil handelt.

Chart showing latency in milliseconds with and without metadata caching.

Erhöhen der verfügbaren IOPS

Das Zwischenspeichern von Metadaten kann die verfügbaren IOPS für Metadaten-lastige Workloads im großen Stil um mehr als 60 % erhöhen.

Chart showing available IOPS with and without metadata caching.

Erhöhen des Netzwerkdurchsatzes

Das Zwischenspeichern von Metadaten kann den Netzwerkdurchsatz für Metadaten-lastige Workloads im großen Stil um mehr als 60 % erhöhen.

Chart showing network throughput with and without metadata caching.

Nächste Schritte