Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server auf Azure VM
Dieser Artikel enthält bewährte Methoden und Richtlinien zum Optimieren der Leistung für Sql Server auf virtuellen Azure-Computern (VMs). Erfahren Sie, wie Sie die richtigen Datenträgertypen auswählen, Speicherpools konfigurieren und Zwischenspeicherungsstrategien implementieren, um die Datenbankleistung zu maximieren.
In der Regel kommt es zu einem Kompromiss zwischen einer Kostenoptimierung und einer Leistungsoptimierung. Diese Reihe bewährter Leistungspraktiken konzentriert sich auf die optimale Leistung für SQL Server auf Azure-VMs. Wenn Ihre Workload weniger anspruchsvoll ist, sind möglicherweise nicht alle empfohlenen Optimierungen erforderlich. Berücksichtigen Sie bei der Evaluierung dieser Empfehlungen Ihre Leistungsanforderungen und -kosten sowie Ihre Workloadmuster.
Weitere Informationen finden Sie in den anderen Artikeln dieser Reihe: Checkliste, VM-Größe, Sicherheit, HADR-Konfiguration und Baseline erfassen.
Checkliste
In der folgenden Prüfliste finden Sie eine kurze Übersicht über die bewährten Methoden zur Speicherung, die im weiteren Verlauf des Artikels ausführlicher behandelt werden:
- Überwachen Sie die Anwendung und bestimmen Sie die Speicherbandbreiten- und Latenzanforderungen für SQL Server Daten, Protokolle und Dateien, bevor Sie den Datenträgertyp auswählen.
- Wenn verfügbar, konfigurieren Sie die
tempdb-Daten und Protokolldateien auf dem lokalen SSD-Volume, wenn Sie einen neuen virtuellen Computer bereitstellen oder nachdem Sie manuell SQL Server installiert haben. Die SQL IaaS-Agent-Erweiterung verarbeitet den Ordner und die Berechtigungen, die bei der erneuten Bereitstellung erforderlich sind. - Um die Speicherleistung zu optimieren, planen Sie für die höchsten verfügbaren nicht zwischengespeicherten IOPS, und verwenden Sie Datenzwischenspeicherung als Leistungsmerkmal für Datenlesevorgänge, während Sie die Begrenzung virtueller Computer und Datenträger vermeiden.
- Legen Sie die Hostzwischenspeicherung für Datenträger auf schreibgeschützt fest.
- Legen Sie Hostzwischenspeicherung für Protokolldateidatenträger auf Keine fest.
- Aktivieren Sie nicht das Zwischenspeichern von Lese-/Schreibzugriff auf Datenträgern, die SQL Server Daten oder Protokolldateien enthalten.
- Beenden Sie den SQL Server Dienst immer, bevor Sie die Cacheeinstellungen Ihres Datenträgers ändern.
- Wenn Sie die Ebdsv5 oder Ebsv5 Serie SQL Server VMs verwenden, verwenden Sie Premium SSD v2 für die beste Preisleistung. Sie können Ihre SQL Server VM mit Premium SSD v2 bereitstellen, indem Sie das Azure-Portal (derzeit in der Vorschau) verwenden.
- Wenn Ihre Workload mehr als 160.000 IOPS erfordert, verwenden Sie Premium SSD v2 oder Azure Ultra Disks.
- Platzieren Sie Daten- und Protokoll- und
tempdb-Dateien auf separaten Laufwerken.- Verwenden Sie für das Datenlaufwerk Premium P30- und P40-Datenträger oder kleinere Datenträger, um die Verfügbarkeit der Cacheunterstützung sicherzustellen. Bei Verwendung der Ebdsv5-VM-Serie nutzen Sie Premium SSD v2, die eine bessere Preisleistung für Workloads bietet, die einen hohen IOPS- und E/A-Durchsatz erfordern.
- Für das Protokolllaufwerk planen Sie die Kapazität und testen die Leistung im Verhältnis zu den Kosten, während Sie entweder die Premium SSD v2- oder Premium SSD-Datenträger P30-P80 bewerten
- Wenn die Speicherlatenz in Submillisekunden erforderlich ist, verwenden Sie entweder Premium SSD v2 oder Azure Ultra Disks für das Transaktionsprotokoll.
- Ziehen Sie bei der Bereitstellung von virtuellen Maschinen der M-Serie Schreibbeschleuniger Azure Ultra-Datenträgern vor.
- Platzieren Sie tempdb auf dem temporary disk (der temporäre Datenträger ist kurzlebig und standardmäßig für
D:\) für die meisten SQL Server Workloads, die nicht Teil einer Failoverclusterinstanz (FCI) sind, nachdem Sie die optimale VM-Größe ausgewählt haben.- Wenn die Kapazität des lokalen Laufwerks für
tempdbnicht ausreicht, können Sie eine Vergrößerung der VM in Erwägung ziehen. Weitere Informationen finden Sie unter Richtlinien für das Zwischenspeichern von Datendateien.
- Wenn die Kapazität des lokalen Laufwerks für
- Für Failoverclusterinstanzen (FCI) platzieren Sie
tempdbauf dem gemeinsamen Speicher.- Wenn die FCI-Workload stark von der
tempdb-Datenträgerleistung abhängig ist, platzieren Sietempdbals erweiterte Konfiguration auf dem lokalen kurzlebigen SSD-Laufwerk (standardmäßigD:\), das nicht Teil des FCI-Speichers ist. Für diese Konfiguration sind benutzerdefinierte Überwachung und Aktionen erforderlich, um sicherzustellen, dass das lokale kurzlebige SSD-Laufwerk (standardmäßigD:\) immer verfügbar ist, da Fehler dieses Laufwerks keine Aktion der FCI auslösen.
- Wenn die FCI-Workload stark von der
- Stripen Sie mehrere Azure-Datenträger mit Storage Spaces, um die I/O-Bandbreite bis zu den IOPS- und Durchsatzgrenzen des virtuellen Zielcomputers zu erhöhen.
- Bei der Migration mehrerer verschiedener Workloads in die Cloud kann Azure Elastic SAN eine kostengünstige konsolidierte Speicherlösung sein. Wenn Sie jedoch Azure Elastic SAN verwenden, erfordert das Erreichen des gewünschten IOPS/Durchsatzes für SQL Server Workloads häufig überprovisionierende Kapazität. Normalerweise sind sie nicht für einzelne SQL-Server-Workloads geeignet. Sie können jedoch eine kostengünstige Lösung erzielen, wenn Sie leistungsschwache Workloads mit SQL Server kombinieren.
- Für Workloads in Entwicklungs- und Testumgebungen sowie für die langfristige Archivierung von Sicherungskopien sollten Sie Standardspeicher verwenden. Es wird nicht empfohlen, HDD/SSD Standard für Produktionsworkloads zu verwenden.
- Auf Guthaben basierendes Speicher-Bursting (P1-P20) sollte nur für kleinere Entwicklungs-/Test-Workloads und Abteilungssysteme in Betracht gezogen werden.
- Formatieren Sie den Datenträger, um die Größe der Zuordnungseinheiten von 64 KB für alle Datendateien zu verwenden, die auf einem anderen Laufwerk als dem temporären Laufwerk
D:\abgelegt werden (Standardwert: 4 KB). SQL Server VMs, die über den Azure Marketplace bereitgestellt werden, verfügen über Datenträger, die mit einer Zuordnungseinheitsgröße formatiert und mit einem Interleave für den Speicherpool von 64 KB eingestellt sind. - Konfigurieren Sie das Speicherkonto in derselben Region wie der SQL Server-VM.
- Deaktivieren Sie Azure georedundanten Speicher (Georeplikation) und verwenden Sie LRS (lokaler redundanter Speicher) für das Speicherkonto.
- Aktivieren Sie die SQL Best Practices Assessment, um mögliche Leistungsprobleme zu identifizieren und zu bewerten, dass Ihre SQL Server VM für bewährte Methoden konfiguriert ist.
- Überprüfen und überwachen Sie Datenträger- und VM-Grenzwerte mithilfe von Speicher-E/A-Auslastungsmetriken.
- Ausschließen Sie SQL Server Dateien aus der Antivirensoftwareüberprüfung, einschließlich Datendateien, Protokolldateien und Sicherungsdateien.
- Ändern Sie die Größe des Speicherpools entsprechend.
Informationen zum Vergleichen der Prüfliste für den Speicher mit den anderen bewährten Methoden finden Sie unter Prüfliste für bewährte Methoden für die Leistung.
Übersicht
Um die effektivste Konfiguration für SQL Server Workloads auf einer Azure VM zu finden, beginnen Sie mit der Messung der Speicherleistung Ihrer Unternehmensanwendung. Nachdem Sie Ihre Speicheranforderungen kennen, wählen Sie einen virtuellen Computer aus, der die erforderlichen IOPS und den Durchsatz mit dem entsprechenden Speicher-zu-vCore-Verhältnis unterstützt.
Wählen Sie eine VM-Größe mit ausreichender Speicherskalierbarkeit für Ihre Workload und eine Mischung aus Datenträgern (in der Regel in einem Speicherpool) aus, die die Kapazitäts- und Leistungsanforderungen Ihres Unternehmens erfüllt.
Der Datenträgertyp hängt sowohl vom Dateityp ab, den der Datenträger hostt, als auch von ihren Leistungsanforderungen.
Tipp
Wenn Sie eine SQL Server-VM über das Azure-Portal bereitstellen, erhalten Sie Anleitungen über den Speicherkonfigurationsprozess. Das Portal implementiert außerdem die meisten bewährten Speichermethoden, z. B. das Erstellen separater Speicherpools für Ihre Daten und Protokolldateien, die Zielbestimmung tempdb auf das D:\ Laufwerk und die Aktivierung der optimalen Zwischenspeicherungsrichtlinie. Weitere Informationen zum Bereitstellen und Konfigurieren von Speicher finden Sie unter SQL-VM-Speicherkonfiguration.
VM-Datenträgertypen
Sie können die Leistungsstufe für Ihre Datenträger auswählen. Die Typen von verwalteten Datenträgern, die als zugrunde liegender Speicher verfügbar sind, aufgelistet durch die Erhöhung der Leistungsfunktionen, sind Standard-Festplattenlaufwerke (HDD), Standard-Solid-State-Laufwerke (SSD), Premium SSDs, Premium SSD v2 und Ultra Disks.
Bei Standard-HDDs, Standard-SSDs und Premium-SSDs erhöht sich die Leistung des Datenträgers mit der Größe des Datenträgers. Die Datenträger werden nach Premium-Datenträgerbeschriftungen gruppiert, z. B. P1 mit 4 GiB Speicherplatz und 120 IOPS auf dem P80 mit 32 TiB Speicher und 20.000 IOPS. Premium-Speicher unterstützt einen Speichercache, der die Lese- und Schreibleistung für einige Workloads verbessert. Weitere Informationen finden Sie in der Übersicht über verwaltete Datenträger.
Sie können die Leistung von Premium SSD v2 und Ultra Disks unabhängig von der Größe des Datenträgers ändern. Ausführliche Informationen finden Sie unter Ultra Disk Performance und Premium SSD v2 Performance. Wenn Ihre Workload mehr als 160.000 IOPS erfordert, sollten Sie premium SSD v2 oder Ultra Disks verwenden.
Berücksichtigen Sie für Ihren SQL Server auf azure VM die drei Hauptdatenträgerrollen – einen Betriebssystemdatenträger , einen temporären Datenträger und Ihre Datenträger. Wählen Sie sorgfältig aus, was Sie auf dem Betriebssystemlaufwerk (C:\) und dem kurzlebigen temporären Laufwerk (D:\)speichern.
Betriebssystem-Datenträger
Ein Betriebssystemdatenträger ist eine VHD, die Sie als ausgeführte Version eines Betriebssystems starten und bereitstellen können. Es wird als C:\ Laufwerk bezeichnet. Wenn Sie eine Azure VM erstellen, fügt die Plattform mindestens einen Datenträger an die VM für den Betriebssystemdatenträger an. Das Laufwerk C:\ ist der Standardspeicherort für Anwendungsinstallationen und Dateikonfigurationen.
Verwenden Sie für SQL Server-Produktionsumgebungen nicht den Betriebssystemdatenträger für Datendateien, Protokolldateien oder Fehlerprotokolle.
Temporärer Datenträger
Viele Azure-VMs enthalten einen anderen Datenträgertyp, der als temporärer Datenträger bezeichnet wird und als D:\-Laufwerk erscheint. Je nach VM-Serie und Größe variiert die Kapazität dieses Datenträgers. Der temporäre Datenträger ist kurzlebig, d. h. der Datenträgerspeicher wird neu erstellt (zugeordnet und erneut zugewiesen), wenn der virtuelle Computer neu gestartet oder zu einem anderen Host wechselt. Dieser Prozess kann während der Dienstheilung auftreten.
Das temporäre Speicherlaufwerk wird nicht auf Remotespeicher übertragen. Speichern Sie daher keine Benutzerdatenbankdateien, Transaktionsprotokolldateien oder alle Elemente, die auf diesem Laufwerk beibehalten werden müssen. Sie können sie beispielsweise für Pufferpoolerweiterungen die Seitendatei und tempdb nutzen.
Platzieren Sie tempdb auf dem lokalen temporären SSD-D:\Laufwerk für SQL Server Workloads, es sei denn, der Verbrauch des lokalen Caches ist ein Problem. Wenn Sie einen virtuellen Computer verwenden, der nicht über einen temporären Datenträger verfügt, platzieren Sie tempdb auf einem eigenen isolierten Datenträger oder Speicherpool, mit dem die Zwischenspeicherung schreibgeschützt eingestellt ist. Weitere Informationen finden Sie unter Richtlinien zum Zwischenspeichern von tempdb-Daten.
Datenträger
Datenträger sind Remotespeicherdatenträger, die Sie häufig in Speicherpools erstellen, um die Kapazität und Leistung zu überschreiten, die jeder einzelne Datenträger dem virtuellen Computer bieten kann.
Fügen Sie die Mindestanzahl von Datenträgern an, die den IOPS-, Durchsatz- und Kapazitätsanforderungen Ihrer Workload entsprechen. Überschreiten Sie nicht die maximale Anzahl der Datenträger für Daten der kleinsten VM, deren Größe Sie ändern möchten.
Platzieren Sie Daten- und Protokolldateien auf Datenträgern, die Sie für optimale Leistungsanforderungen bereitstellen.
Formatieren Sie den Datenträger, um die Größe der Zuordnungseinheiten von 64 KB für alle Datendateien zu verwenden, die auf einem anderen Laufwerk als dem temporären Laufwerk D:\ abgelegt werden (Standardwert: 4 KB). SQL Server VMs, die über den Azure Marketplace bereitgestellt werden, verfügen über Datenträger, die mit einer Zuordnungseinheitsgröße formatiert und mit einem Interleave für den Speicherpool von 64 KB eingestellt sind.
Hinweis
Sie können Ihre SQL Server-Datenbankdateien auch direkt auf Azure Blob Storage oder auf SMB-Speicher wie azure Premium-Dateifreigabe hosten. Um die beste Leistung, Zuverlässigkeit und Featureverfügbarkeit zu erzielen, verwenden Sie Azure Managed Disks.
Premium-SSD v2
Verwenden Sie Premium SSD v2-Datenträger beim Ausführen von SQL Server-Workloads in unterstützten Regionen, wenn die aktuellen Einschränkungen für Ihre Umgebung geeignet sind. Je nach Konfiguration kann SSD Premium v2 günstiger als SSD Premium sein und gleichzeitig verbesserte Leistung bieten. Mit Premium SSD v2 können Sie ihren Durchsatz oder IOPS unabhängig von der Größe Ihres Datenträgers individuell anpassen. Durch die Individuelle Anpassung der Leistungsoptionen können Sie diese größeren Kosteneinsparungen erzielen und Skriptänderungen vornehmen, um Leistungsanforderungen während der erwarteten oder bekannten Bedarfszeiträume zu erfüllen.
Verwenden Sie Premium SSD v2 bei Verwendung der Virtuellen Maschinenreihe Ebdsv5 oder Ebsv5 , da es sich um eine kostengünstigere Lösung für diese hohen E/A-Durchsatzmaschinen handelt. Wenn Ihre Workload mehr als 160.000 IOPS erfordert, sollten Sie premium SSD v2 oder Ultra Disks verwenden.
Sie können Ihre SQL Server VMs mit Premium SSD v2 bereitstellen, indem Sie das Azure-Portal (derzeit in der Vorschau) verwenden.
Wenn Sie Ihre SQL Server VM mithilfe des Azure Portals bereitstellen und Premium SSD v2 verwenden möchten, sind Sie derzeit auf die virtuellen Ebdsv5- oder Ebsv5-Serien virtual machines beschränkt. Wenn Sie Ihren virtuellen Computer jedoch manuell mit Premium SSD v2-Speicher erstellen und dann SQL Server auf dem virtuellen Computer manuell installieren, können Sie jede VM-Serie verwenden, die Premium SSD v2 unterstützt. Achten Sie darauf, Ihre SQL Server VM mit der SQL IaaS-Agent-Erweiterung zu registrieren, damit Sie alle von der Erweiterung bereitgestellten Vorteile nutzen können.
Azure Elastic SAN
Azure Elastic SAN ist ein netzwerkgebundenes Speicherangebot, das Ihnen eine flexible und skalierbare Lösung mit dem Potenzial bietet, die Kosten durch Speicherkonsolidierung zu reduzieren. Azure Elastic SAN bietet eine kostengünstige, leistungsfähige und zuverlässige Blockspeicherlösung, die eine Verbindung mit einer Vielzahl von Azure Computediensten über das iSCSI-Protokoll herstellt. Elastic SAN ermöglicht einen nahtlosen Übergang von einer vorhandenen SAN-Speicherfläche in die Cloud, ohne Ihre Anwendungsarchitektur umgestalten zu müssen.
Diese Lösung ermöglicht die Hochskalierung auf Millionen von IOPS, zweistellige GB/s an Durchsatz und niedrige Millisekundenlatenzen mit integrierter Ausfallsicherheit, um Ausfallzeiten zu minimieren. Verwenden Sie Azure Elastic SAN, wenn Sie Speicher konsolidieren müssen, mit mehreren Computediensten arbeiten oder Über Workloads verfügen, die hohe Durchsatzwerte erfordern, wenn Sie Speicher über Netzwerkbandbreite steuern. Da das Erreichen der gewünschten IOPS und des Durchsatzes für SQL Server-Workloads jedoch häufig eine überlastende Kapazität erfordert, ist es in der Regel nicht für einzelne SQL Server-Workloads geeignet. Um die kostengünstigste Lösung mit Elastic SAN zu erreichen, sollten Sie sie als Speicher für mehrere SQL Server-Workloads oder eine Kombination aus SQL Server und anderen Arbeitslasten mit geringer Leistung verwenden.
Erwägen Sie, SQL Server Workloads auf Elastic SAN zu platzieren, um eine bessere Kosteneffizienz, Speicherkonsolidierung, dynamische Leistungsfreigabe und einen höheren Speicherdurchsatz zu erzielen.
Premium-SSD
Verwenden Sie Premium-SSDs für Daten- und Protokolldateien für produktionsbezogene SQL Server Workloads. IOPS und Bandbreite für SSD Premium-Datenträger variieren je nach Datenträgergröße und -typ.
Verwenden Sie für Produktionsworkloads die P30- und P40-Datenträger für SQL Server-Datendateien, um sicherzustellen, dass die Zwischenspeicherung unterstützt und die P30 bis zu P80 für SQL Server-Transaktionsprotokolldateien verwendet werden. Für die besten Gesamtbetriebskosten beginnen Sie mit P30s (5.000 IOPS/200 MBIT/s) für Daten- und Protokolldateien, und wählen Sie nur höhere Kapazitäten aus, wenn Sie die Anzahl der VM-Datenträger steuern müssen. Bei Entwicklungs-/Test- oder kleinen Systemen können Sie Größen verwenden, die kleiner als P30 sind, da diese Datenträger die Zwischenspeicherung unterstützen, aber sie bieten keine reservierten Preise.
Stimmen Sie bei OLTP-Workloads die Ziel-IOPS pro Datenträger (oder Speicherpool) mit Ihren Leistungsanforderungen ab, indem Sie Workloads zu Spitzenzeiten und die Leistungsindikatoren Disk Reads/sec + Disk Writes/sec verwenden. Stimmen Sie bei Data Warehouse- und Berichtsworkloads den Zieldurchsatz anhand von Workloads zu Spitzenzeiten und den Leistungsindikatoren Disk Read Bytes/sec + Disk Write Bytes/sec ab.
Verwenden Sie Speicherplätze, um eine optimale Leistung zu erzielen, konfigurieren Sie zwei Pools, eine für die Protokolldateien und die andere für die Datendateien. Wenn Sie keine Datenträgerstriping verwenden, verwenden Sie zwei Premium-SSDs, die separaten Laufwerken zugeordnet sind, wobei ein Laufwerk die Protokolldatei enthält und die anderen die Daten enthält.
Die bereitgestellten IOPS und der Durchsatz pro Datenträger bestimmen die Gesamtfunktion Ihres Speicherpools. Die kombinierte IOPS- und Durchsatzleistung der Datenträger ist die maximale Leistung bis zu den Durchsatzgrenzwerten des virtuellen Computers.
Verwenden Sie die geringste Anzahl von Datenträgern, während sie die minimalen Anforderungen für IOPS, Durchsatz und Kapazität erfüllen. Das Verhältnis von Preis und Leistung ist jedoch tendenziell besser bei einer großen Anzahl kleiner Datenträger als bei einer kleinen Anzahl großer Datenträger.
Skalieren von Premium-Datenträgern
Die Größe Ihrer SSD Premium bestimmt die anfängliche Leistungsstufe Ihres Datenträgers. Bestimmen Sie die Leistungsstufe bei der Bereitstellung oder ändern Sie sie nachträglich, ohne die Größe des Datenträgers zu ändern. Wenn die Nachfrage steigt, erhöhen Sie das Leistungsniveau, um Ihren Geschäftlichen Anforderungen gerecht zu werden.
Indem Sie die Leistungsstufe ändern, können Sie sich auf höhere Anforderungen vorbereiten und diese erfüllen, ohne sich auf Disk-Bursting zu verlassen.
Verwenden Sie die höhere Leistung so lange wie nötig. Das Abrechnungssystem wurde entwickelt, um auf die Speicherleistungsstufe abgestimmt zu sein. Führen Sie ein Upgrade der Leistungsstufe durch, um die Leistungsanforderungen zu erfüllen, ohne die Kapazität zu erhöhen. Kehren Sie zur ursprünglichen Stufe zurück, wenn die zusätzliche Leistung nicht mehr benötigt wird.
Diese kostengünstige und temporäre Erweiterung der Leistung ist ein starker Anwendungsfall für gezielte Ereignisse wie Shopping, Leistungstests, Schulungsereignisse und andere kurze Fenster, in denen eine höhere Leistung nur kurzfristig benötigt wird.
Weitere Informationen finden Sie unter Leistungsstufen für verwaltete Datenträger.
Azure Ultra Disk
Wenn Sie Reaktionszeiten im Submillisekundenbereich mit reduzierter Latenz benötigen, sollten Sie Azure Ultra Disk für das SQL Server-Protokolllaufwerk oder sogar für das Datenlaufwerk verwenden, insbesondere für Anwendungen, die äußerst empfindlich auf E/A-Latenz reagieren.
Sie können Ultra Disk so konfigurieren, dass Kapazität und IOPS unabhängig voneinander skaliert werden. Mithilfe von Ultra Disk können Sie einen Datenträger mit den Anforderungen an Kapazität, IOPS und Durchsatz basierend auf den Anwendungsanforderungen bereitstellen.
Ultra Disk wird nicht von jeder VM-Serie unterstützt und hat andere Einschränkungen wie die Verfügbarkeit der Region, Redundanz und die Unterstützung für Azure Backup. Weitere Informationen finden Sie unter Using Azure Ultra Disks eine vollständige Liste der Einschränkungen.
Datenträger vom Typ „HDD Standard“ und „SSD Standard“
Standard-HDDs und SSDs weisen unterschiedliche Latenzen und Bandbreite auf. Verwenden Sie sie nur für Entwicklungs-/Testarbeitslasten. Verwenden Sie Premium SSD v2 oder Premium-SSDs für Produktionsworkloads. Wenn Sie Standard-SSD (Entwicklungs-/Testszenarien) verwenden, fügen Sie die maximale Anzahl von Datenträgern hinzu, die von Ihrer VM-Größe unterstützt werden, und verwenden Sie datenträgerstriping, indem Sie Speicherplätze verwenden, um die beste Leistung zu erzielen.
Cache
VMs, die premium-Speicherzwischenspeicherung unterstützen, können Azure BlobCache oder Hostzwischenspeicherung verwenden, um die IOPS- und Durchsatzfunktionen einer VM zu erweitern. VMs, die sowohl für Premiumspeicher als auch für die Premiumspeicherung aktiviert sind, verwenden diese beiden verschiedenen Speicherbandbreitenbeschränkungen zusammen, um die Speicherleistung zu verbessern.
Der IOPS- und MBps-Durchsatz ohne Zwischenspeichern wird auf die Grenzwerte des nicht zwischengespeicherten Datenträgerdurchsatzes einer VM angerechnet. Die maximalen Grenzwerte mit Zwischenspeicherung bieten einen zusätzlichen Puffer für Lesevorgänge, der bei Wachstum und unerwarteten Spitzenwerten hilft.
Aktivieren Sie die Premium-Zwischenspeicherung, wenn die Option unterstützt wird, um die Leistung für Lesevorgänge auf dem Datenlaufwerk ohne zusätzliche Kosten deutlich zu verbessern.
Lese- und Schreibvorgänge in den Azure BlobCache (zwischengespeicherte IOPS und Durchsatz) zählen nicht für die grenzwerte für nicht zwischengespeicherte IOPS und den Durchsatz der VM.
Hinweis
Datenträgerzwischenspeicherung wird für Datenträger mit 4 TiB und höher (P50 und höher) nicht unterstützt. Wenn Sie mehrere Datenträger an Ihre VM anfügen, unterstützt jeder Datenträger, der kleiner als 4 TiB ist, die Zwischenspeicherung. Weitere Informationen finden Sie unter Festplatten-Cache.
Nicht zwischengespeicherter Durchsatz
Die maximale IOPS- und Durchsatzrate für Datenträger ohne Zwischenspeicherung ist das maximale Remotespeicherlimit, die der virtuelle Computer verarbeiten kann. Dieser Grenzwert wird auf der VM definiert und ist kein Grenzwert des zugrunde liegenden Datenträgerspeicher. Diese Begrenzung gilt nur für E/A bei Datenlaufwerken, die remote an den virtuellen Computer angefügt sind, nicht für die lokale E/A für das temporäre Laufwerk (Laufwerk D:\) oder das Betriebssystemlaufwerk.
Sie können die Menge der nicht zwischengespeicherten IOPS und des Durchsatzes überprüfen, der für einen virtuellen Computer in der Dokumentation für Ihren virtuellen Computer verfügbar ist.
Die Dokumentation zur M-Serie zeigt beispielsweise, dass der maximale nicht zwischengespeicherte Durchsatz für die Standard_M8ms VM 5.000 IOPS und 125 MBPs des nicht zwischengespeicherten Datenträgerdurchsatzes beträgt.
Ebenso können Sie sehen, dass der Typ „Standard_M32ts“ 20.000 Datenträger-IOPS ohne Zwischenspeicherung und 500 MBit/s Datenträgerdurchsatz ohne Zwischenspeicherung unterstützt. Diese Begrenzung wird auf der Ebene des virtuellen Computers geregelt, unabhängig von dem zugrunde liegenden Premium-Datenträgerspeicher.
Weitere Informationen finden Sie unter Nicht zwischengespeicherte und zwischengespeicherte Grenzwerte.
Zwischengespeicherter und temporärer Speicherdurchsatz
Der Grenzwert für den maximalen Durchsatz von zwischengespeichertem und temporärem Speicher ist ein von dem Grenzwert für den nicht zwischengespeicherten Durchsatz des virtuellen Computers getrennter Grenzwert. Der Azure BlobCache verwendet eine Kombination aus dem Arbeitsspeicher des VM-Hosts und einer lokal angeschlossenen SSD. Das temporäre Laufwerk (D:\ Laufwerk) innerhalb der VM verwendet auch diese lokale SSD.
Der maximale zwischengespeicherte und temporäre Speicherdurchsatz steuert die E/A für den lokalen Temp-Datenträger (D:\ Datenträger) und den Azure BlobCache nur, wenn der Host-Cache aktiviert ist.
Wenn Sie die Zwischenspeicherung auf Premiumspeicher aktivieren, können VMs über die Einschränkungen der Grenzen der nicht zwischengespeicherten VM-IOPS und des Durchsatzes hinaus skaliert werden.
Sie müssen in der Dokumentation der virtuellen Maschine überprüfen, ob eine VM sowohl Premiumspeicher als auch Premiumspeichercaching unterstützt. Beispielsweise gibt die M-Serie-Dokumentation an, dass sie sowohl Premiumspeicherung als auch Premium-Speicherzwischenspeicher unterstützt:
Die Grenzwerte des Caches hängen von der Größe der VM ab. Beispielsweise unterstützt die Standard_M8ms VM 10.000 zwischengespeicherte Datenträger-IOPS und 100 MBps zwischengespeicherten Datenträgerdurchsatz mit einer Gesamtcachegröße von 793 GiB. Ebenso unterstützt die Standard_M32ts-VM 40.000 zwischengespeicherte Datenträger-IOPS und einen zwischengespeicherten Datenträger-Durchsatz von 400 MBps mit einer Gesamtcachegröße von 3.174 GiB.
Sie können die Hostzwischenspeicherung auf einem vorhandenen virtuellen Computer manuell aktivieren. Beenden Sie alle Anwendungsworkloads und die SQL Server-Dienste, bevor Sie Änderungen an der Zwischenspeicherungsrichtlinie Ihrer VM vornehmen. Wenn Sie eine der VM-Cacheeinstellungen ändern, wird der Zieldatenträger abgetrennt und nach der Anwendung der Einstellungen erneut angefügt.
Richtlinien für die Zwischenspeicherung von Datendateien
Ihre Speicherzwischenspeicherungsrichtlinie hängt vom Typ der SQL Server-Datendateien ab, die vom Laufwerk gehostet werden.
Die folgende Tabelle enthält eine Zusammenfassung der empfohlenen Zwischenspeicherungsrichtlinien basierend auf dem Typ von SQL Server Daten:
| SQL Server Datenträger | Empfehlung |
|---|---|
| Datenträger | Aktivieren Sie Read-only Zwischenspeicherung für die Datenträger, die SQL Server Datendateien hosten.Lesevorgänge aus dem Cache sind schneller als nicht zwischengespeicherte Lesevorgänge vom Datenträger. Nicht zwischengespeicherte IOPS und Durchsatz sowie zwischengespeicherte IOPS und Durchsatz liefern die gesamt mögliche Leistung, die von der VM innerhalb der Grenzen der VM verfügbar ist, aber die tatsächliche Leistung variiert basierend auf der Fähigkeit der Workload, den Cache zu verwenden (Cachetrefferverhältnis). |
| Transaktionsprotokolldatenträger | Legen Sie die Richtlinie für die Zwischenspeicherung für Datenträger, die das Transaktionsprotokoll hosten, auf None fest. Es gibt keinen Leistungsvorteil, um das Zwischenspeichern für den Transaktionsprotokolldatenträger zu ermöglichen. Tatsächlich kann das Aktivieren der Read-only oder Read/Write Zwischenspeicherung auf dem Protokolllaufwerk die Schreibleistung des Laufwerks beeinträchtigen und die verfügbare Cachemenge für Lesevorgänge auf dem Datenlaufwerk verringern. |
| Betriebssystemdatenträger | Die Standardrichtlinie für die Zwischenspeicherung für das Betriebssystemlaufwerk ist Read/write.Ändern Sie nicht die Zwischenspeicherungsebene des Betriebssystemlaufwerks. |
tempdb |
Wenn Sie tempdb aus Kapazitätsgründen nicht auf dem ephemeren Laufwerk D:\ platzieren können, ändern Sie entweder die Größe des virtuellen Computers, um ein größeres ephemeres Laufwerk zu erhalten, oder platzieren Sie tempdb auf einem separaten Datenlaufwerk, das mit Read-only-Caching konfiguriert ist.Der VM-Cache und das ephemere Laufwerk nutzen beide die lokale SSD. Beachten Sie dies also bei der Dimensionierung, da tempdb I/O auf die zwischengespeicherten IOPS und die Durchsatzgrenzen der VM angerechnet wird, wenn sie auf dem ephemeren Laufwerk gehostet werden. |
Wichtig
Das Ändern der Cacheeinstellung eines Azure-Datenträgers trennt und fügt den Zieldatenträger erneut an. Wenn Sie die Cacheeinstellung für einen Datenträger ändern, auf dem SQL Server-Daten, -Protokolle oder -Anwendungsdateien gehostet werden, beenden Sie den SQL Server-Dienst zusammen mit anderen verwandten Diensten, um Datenbeschädigungen zu vermeiden.
Weitere Informationen finden Sie unter Nutzung des Datenträgercaches.
Datenträgerstriping
Analysieren Sie den Durchsatz und die Bandbreite, die für Ihre SQL-Datendateien erforderlich sind, um die Anzahl der Datenträger für Daten, einschließlich der Protokolldatei und tempdb, zu bestimmen. Die Grenzwerte für Durchsatz und Bandbreite variieren je nach VM-Größe. Weitere Informationen finden Sie unter VM-Größen.
Fügen Sie zusätzliche Datenträger für Daten hinzu, und verwenden Sie das Datenträgerstriping für einen höheren Durchsatz. Eine Anwendung, die 12.000 IOPS und 180 MBit/s Durchsatz erfordert, kann z. B. drei P30-Stripesetdatenträger verwenden, um 15.000 IOPS und 600 MBit/s Durchsatz zu liefern.
Informationen zum Konfigurieren des Datenträgerstripings finden Sie unter Datenträgerstriping.
Festplattenbegrenzung
Sowohl der Datenträger als auch der virtuelle Computer weisen Durchsatzgrenzwerte auf. Die maximalen IOPS-Grenzwerte pro VM und datenträger unterscheiden sich und funktionieren unabhängig voneinander.
Das System drosselt (oder begrenzt) Anwendungen, die Ressourcen über diese Grenzen hinaus verbrauchen. Wählen Sie einen virtuellen Computer und eine Datenträgergröße in einem Datenträgerstreifen aus, der die Anwendungsanforderungen erfüllt, und vermeiden Sie Schränkungen. Um Beschränkungen zu begegnen, verwenden Sie die Zwischenspeicherung oder optimieren Sie die Anwendung so, dass weniger Durchsatz erforderlich ist.
Eine Anwendung, die 12.000 IOPS und 180 MB/s benötigt, kann z. B. wie folgt vorgehen:
- Verwenden des Typs Standard_M32ms, der einen maximalen Datenträgerdurchsatz ohne Zwischenspeicherung von 20.000 IOPS und 500 MBit/s aufweist.
- Stripe drei P30-Datenträger, um 15.000 IOPS und 600 MB/s Durchsatz zu erreichen.
- Verwenden Sie einen virtuellen Computer vom Typ Standard_M16ms, und verwenden Sie den gehosteten Cache, um den lokalen Cache zu nutzen, anstatt den Durchsatz zu verbrauchen.
Konfigurieren Sie virtuelle Computer so, dass sie in Zeiten mit hoher Auslastung skaliert werden. Stellen Sie Speicher mit genügend IOPS und Durchsatz bereit, um die maximale VM-Größe zu unterstützen, während die Gesamtanzahl der Datenträger kleiner oder gleich der maximalen Anzahl bleibt, die von der kleinsten VM-SKU unterstützt wird, die Sie verwenden möchten.
Weitere Informationen zu Einschränkungen beim Datenträger-Capping und zur Verwendung von Zwischenspeichern zur Vermeidung der Begrenzung finden Sie unter Datenträger-E/A-Capping.
Hinweis
Einige Datenträgerkappings führen weiterhin zu einer zufriedenstellenden Leistung für Benutzer. Optimieren und verwalten Sie Arbeitslasten, anstatt die Größe auf einen größeren virtuellen Computer zu ändern, um Kosten und Leistung für das Unternehmen auszugleichen.
Schreibbeschleunigung
Die Schreibbeschleunigung ist ein Datenträgerfeature, das nur für die VMs der M-Serie verfügbar ist. Der Zweck der Schreibbeschleunigung besteht darin, die E/A-Latenz von Schreibvorgängen für Azure Premium Storage zu verbessern, wenn Sie eine einstellige E/A-Latenz aufgrund von hochvolumigen, unternehmenskritischen OLTP-Workloads oder Data Warehouse-Umgebungen benötigen.
Verwenden Sie die Schreibbeschleunigung, um die Schreibwartezeit für das Laufwerk zu verbessern, auf dem die Protokolldateien gespeichert sind. Verwenden Sie die Schreibbeschleunigung nicht für SQL Server Datendateien.
Alle Datenträger mit Schreibbeschleunigung verwenden denselben IOPS-Grenzwert wie die VM. Angefügte Datenträger dürfen den IOPS-Grenzwert der Schreibbeschleunigung für eine VM nicht überschreiten.
Die folgende Tabelle bietet eine Übersicht über die pro VM unterstützte Anzahl der Datenträger für Daten und IOPS:
| VM-Artikelnummer | Anzahl der Datenträger mit Schreibbeschleunigung | IOPS des Schreibbeschleunigers pro Datenträger und VM |
|---|---|---|
| M416ms_v2, M416s_8_v2, M416s_v2 | 16 | 20000 |
| M208ms_v2, M208s_v2 | 8 | 10.000 |
| M192ids_v2, M192idms_v2, M192is_v2, M192ims_v2 | 16 | 20000 |
| M128ms, M128s, M128ds_v2, M128dms_v2, M128s_v2, M128ms_v2 | 16 | 20000 |
| M64ms, M64ls, M64s, M64ds_v2, M64dms_v2, M64s_v2, M64ms_v2 | 8 | 10.000 |
| M32ms, M32ls, M32ts, M32s, M32dms_v2, M32ms_v2 | 4 | 5.000 |
| M16ms, M16s | 2 | 2500 |
| M8ms, M8s | 1 | 1250 |
| Standard_M176s_3_v3, Standard_M176ds_3_v3, Standard_M176s_4_v3, Standard_M176ds_4_v3 | 16 | 20000 |
| Standard_M96s_1_v3, Standard_M96ds_1_v3, Standard_M96s_2_v3, Standard_M96ds_2_v3 | 8 | 10.000 |
| Standard_M48s_1_v3, Standard_M48ds_1_v3 | 4 | 5.000 |
| Standard_M24s_v3, Standard_M24ds_v3 | 2 | 5.000 |
| Standard_M12s_v3, Standard_M12ds_v3 | 1 | 5.000 |
Bei der Verwendung der Schreibbeschleunigung gibt es eine Reihe von Einschränkungen. Weitere Informationen finden Sie unter Einschränkungen bei der Verwendung der Schreibbeschleunigung.
Vergleich mit Azure Ultra Disk
Der größte Unterschied zwischen Write Acceleration und Azure Ultra Disks besteht darin, dass Write Acceleration ein VM-Feature ist, das nur für die M-Serie verfügbar ist, während Azure Ultra Disks eine Speicheroption ist. Die Schreibbeschleunigung ist ein schreiboptimierter Cache mit eigenen Einschränkungen, die auf der Größe des virtuellen Computers basieren. Azure Ultra Disks sind eine Speicheroption mit geringer Latenz für Azure VMs.
Verwenden Sie, wenn möglich, Schreibbeschleunigung über Ultra Disks für den Transaktionsprotokolldatenträger. Verwenden Sie für VMs, die die Schreibbeschleunigung nicht unterstützen, aber eine geringe Latenz für das Transaktionsprotokoll erfordern, Azure Ultra Disks.
Passende Größenänderung für Speicherpools
Ändern Sie in Azure die Größe eines Speicherpools, indem Sie die Anzahl der Datenträger im Pool ändern. Ändern Sie nicht die Größe der Datenträger, die sich bereits im Pool befinden. Das Ändern der Größe der virtuellen oder physischen Datenträger in einem Speicherpool erhöht nicht den verfügbaren Speicherplatz des Volumes, wenn es sich im Speicherpool befindet. Der zusätzliche Speicherplatz wird nicht verwendet und verschwendet.
Für SQL Server auf Azure-VMs mit Premium-SSD-Datenträgern (v1), die Sie aus dem Azure Marketplace bereitstellen, fügt die Bereitstellung automatisch Datenträger zum Speicherpool hinzu. Verwenden Sie den Speicherbereich der Ressource für virtuelle SQL-Computer im Azure-Portal, um die Größe der Datenträger im Speicherpool zu ändern.
Für SQL Server auf Azure VM Marketplace-Images, die Premium SSD v2-Datenträger oder Ultra Disks verwenden, oder für virtuelle Computer mit selbst installierten SQL Server-Instanzen sollten Sie die Anzahl der Datenträger im Speicherpool manuell ändern, um die Volume-Größe zu ändern.
Führen Sie die folgenden Schritte aus, um einen Speicherpool zu erweitern:
- Hinzufügen eines neuen Datenträgers:
- Stellen Sie eine Verbindung mit dem virtuellen Computer her.
- Fügen Sie die Datenträger im Server-Manager> Datei- und Speicherdienste > Volumes > Speicherpools hinzu. Verwenden Sie "Aufgaben ", um die Option " Physischen Datenträger hinzufügen" auszuwählen.
- Nachdem der Datenträger hinzugefügt wurde, klicken Sie mit der rechten Maustaste auf den virtuellen Zieldatenträger, und wählen Sie "Virtuellen Datenträger erweitern" aus.
- Öffnen Sie die Datenträgerverwaltung, klicken Sie mit der rechten Maustaste auf das Zielvolume, und wählen Sie "Volume erweitern" aus.
Überwachen der Speicherleistung
Um die Speicheranforderungen zu bewerten und zu bestimmen, wie gut der Speicher funktioniert, müssen Sie verstehen, was gemessen und was diese Indikatoren bedeuten.
| Metric | Beschreibung | Wie man misst | Beispielarbeitslasten |
|---|---|---|---|
| IOPS (Eingabe-/Ausgabevorgänge pro Sekunde) | Anzahl der Anforderungen, die die Anwendung an den Speicher pro Sekunde sendet | Leistungsüberwachungsindikatoren: Disk Reads/sec und Disk Writes/sec |
OLTP-Anwendungen (Onlinetransaktionsverarbeitung) wie Zahlungsverarbeitungssysteme , Online-Shopping und Verkaufsstellensysteme |
| Throughput | Datenvolumen, das an den zugrunde liegenden Speicher gesendet wird, oft in Megabyte pro Sekunde gemessen | Leistungsmonitor-Zähler: Disk Read Bytes/sec und Disk Write Bytes/sec |
Data Warehouse-Anwendungen wie Datenspeicher für Analyse, Berichterstellung, ETL-Workloads und andere Business Intelligence-Ziele |
I/O-Einheitengrößen beeinflussen IOPS und Durchsatzfunktionen. Kleinere E/A-Größen liefern höhere IOPS, und größere E/A-Größen erzielen einen höheren Durchsatz. SQL Server wählt automatisch die optimale E/A-Größe aus. Weitere Informationen finden Sie unter Optimieren von IOPS, Durchsatz und Latenz für Ihre Anwendungen.
Spezifische Azure Monitor-Metriken sind für die Ermittlung von Capping auf VM- und Datenträgerebene sowie für den Verbrauch und die Integrität des AzureBlob-Caches von unschätzbarem Wert. Informationen zum Identifizieren wichtiger Leistungsindikatoren, die Ihrer Überwachungslösung und Azure Portaldashboard hinzugefügt werden sollen, finden Sie unter Storage-Auslastungsmetriken.
Hinweis
Azure Monitor bietet zurzeit keine Metriken auf Datenträgerebene für das kurzlebige Temp-Laufwerk (D:\). Der zwischengespeicherte IOPS-Anteil und der zwischengespeicherte Bandbreitenanteil spiegeln sowohl die IOPS als auch die Bandbreite vom temporären Laufwerk (D:\) und dem Host-Cache wider.
Überwachen des Wachstums von Transaktionsprotokollen
Da ein vollständiges Transaktionsprotokoll zu Leistungsproblemen und Ausfällen führen kann, überwachen Sie den verfügbaren Speicherplatz in Ihrem Transaktionsprotokoll und den genutzten Speicherplatz des Laufwerks, das Ihr Transaktionsprotokoll enthält. Behandeln Sie Transaktionsprotokollprobleme, bevor sie sich auf Ihre Arbeitsauslastung auswirken.
Siehe Problembehandlung bei vollen Transaktionsprotokollen, wenn Ihr Protokoll voll ist.
Wenn Sie Ihren Datenträger erweitern müssen, können Sie dies im Bereich Storage der Ressource SQL virtual machines tun, wenn Sie ein SQL Server Image aus Azure Marketplace bereitgestellt haben, oder im Bereich Disks für Ihren Azure virtuellen Computer und selbst installierte SQL Server.
Verwandte Inhalte
- Checkliste: Bewährte Methoden für SQL Server auf Azure-VMs
- VM-Größe: Bewährte Methoden für die Leistung für SQL Server auf Azure-VMs
- Sicherheitsüberlegungen für SQL Server auf virtuellen Azure-Computern
- Bewährte Methoden der HADR-Konfiguration (SQL Server auf Azure-VMs)
- Erfassen eines Basisplans: Bewährte Methoden für die Leistung für SQL Server auf virtuellen Azure-Computern
- Optimieren der OLTP-Leistung
- Was ist der SQL Server auf Azure Windows Virtual Machines?
- Häufig gestellte Fragen