Bereiten Sie sich auf eine erfolgreiche Leistung mit Azure SQL Managed Instance vor
Wenn Sie SQL Server vor Ort bereitstellen, hängt eine herausragende Leistung vom Aufbau der robustesten Hardware und Konnektivität ab, die Sie sich leisten können.Wenn Sie auf verwaltete Datenbankdienste in der Cloud migrieren, möchten Sie dabei keine Leistungseinbußen hinnehmen. Dieser Blog ist Teil eins einer zweiteiligen Serie zur Optimierung der Leistung Ihrer Azure SQL Managed Instance. Für den Anfang empfehlen wirFestlegung einer ersten Grundlinie, die oft auf der Leistung Ihrer lokalen Server basiert.Es istAuchwichtigZuDefinieren Sie Ihre Geschäftsanforderungen an Betriebszeit und Datenredundanz, welchewirkt sich auf die Entscheidungen aus, die Sie beim Übergang zu Azure SQL Managed Instance treffen.Wenn duWenn Sie in die Cloud migrieren, möchten Sie keine Leistungseinbußen hinnehmen.und bewaffnetmit Thist Information, Sie können mithalten (oder sogar verbessern)Leistung in der Cloud.
Sobald Sie Ihre Workload-Basislinie festgelegt haben, wählen Sie die entsprechende Serviceebene und die entsprechende Hardwarekonfiguration aus, um die Geschäftsanforderungen Ihres Workloads zu erfüllen.
Wählen Sie Ihre Servicestufe
Serviceebenen bestimmen im Allgemeinen den Speichertyp und die Speicherleistung, die verfügbaren Optionen für Hochverfügbarkeit und Notfallwiederherstellung sowie die Verfügbarkeit bestimmter Funktionen wie In-Memory-OLTP.SQL Managed Instance bietet zweiServicestufen: die Dienstebene „Allgemein“.Unddie Dienstebene „Geschäftskritisch“.
Die Ebene „Allgemeine Zwecke“ ist die Standardebene inSQL Managed Instance und für die meisten Geschäftsarbeitslasten konzipiert.Es ist budgetorientiert und sowohl für die Rechenleistung als auch für die Speicherung skalierbar. Es stellt eine Replik bereit. Mit einem Geo-Replikat können Sie eine sekundäre Instanz schreibgeschützt bereitstellen. Die General Purpose-Tier-Architektur basiert auf zwei Schichten – einer zustandslosen Rechenschicht, die von Azure Service Fabric betrieben wird, und einer zustandsbehafteten Datenschicht in Azure Blob Storage.
Holen Sie sich die beste Leistung aus demAllgemeiner ZweckServicestufe nachErhöhen Sie die Größe Ihrer Datendatei. InAllgemeiner Zweck, erhält jede Datenbankdatei dedizierte IOPS und Durchsatz, die von der Dateigröße abhängen. Größere Dateien erhalten mehr IOPS und damit einen höheren Durchsatz. Wenn Sie bei einer Datenbankdatei eine hohe E/A-Latenz feststellen oder feststellen, dass sich IOPS/Durchsatz dem Grenzwert nähern, versuchen Sie, die Dateigröße zu erhöhen.
Die Dienstebene „Geschäftskritisch“ basiert auf einem Cluster von Datenbank-Engine-Prozessen, um Verfügbarkeit, Ausfallsicherheit und E/A-Leistung zu erhöhen. Business Critical stellt vier Replikate mit hoher Verfügbarkeit bereit – ein primäres Replikat und drei sekundäre Replikate. Für schreibgeschützte Abfragen ist nur eines der drei sekundären Replikate verfügbar. Auf der Ebene „Geschäftskritisch“ bereitgestellte Rechen- und Speicherkapazitäten werden auf jedem Knoten integriert, wobei lokal angeschlossene SSDs für die Datenspeicherung mit geringer Latenz verwendet werden. Die Dienstebene „Geschäftskritisch“ ist für Datenbanken konzipiert, dieerfordern eine extrem niedrige Latenz (1-2 Millisekunden), höhere Verfügbarkeit, erweiterten Schutz vor Datenbeschädigung, schnelle Geowiederherstellung oder wenn SieSie müssen Berichts- und Analyseabfragen vom Workload-Dienst an ein schreibgeschütztes Replikat weiterleiten.
Wählen Sie Ihr h ausHardwareAufbau
Azure SQL Managed Instance basiert auf aModell des virtuellen Kerns (vCore)., wobei ein virtueller Kern eine logische CPU darstellt, die von skalierbaren Intel® Xeon® Prozessoren angetrieben wird. Ihre Kosten hängen von der Wahl und Nutzung der von Ihnen benötigten Serviceebene, Ihrer Hardwarekonfiguration, den Rechenressourcen (der Anzahl der virtuellen Kerne und der Speichermenge), dem reservierten Datenbankspeicher und dem Sicherungsspeicher ab. Sie steuern, wie Sie die Hardwarekonfiguration auswählen, sodass Sie Rechenleistung und Arbeitsspeicher an Ihre Workload-Anforderungen anpassen können. Zu den Hardwarekonfigurationsoptionen gehören die Standardserie (Gen5), die Premiumserie und die speicheroptimierte Premiumserie. Die Hardwarekonfiguration definiert die Rechen- und Speichergrenzen sowie andere Merkmale, die sich auf die Workload-Leistung auswirken.
Weitere Informationen zu den Besonderheiten und Einschränkungen der Hardwarekonfiguration – einschließlich der Frage, welcher skalierbare Intel® Xeon® Prozessor in jeder Serie enthalten ist, finden Sie unterHardware-Konfigurationsmerkmale..
Mit der Einrichtung Ihrer Instanz können wir einige andere Bereiche erkunden, in denen wir die Leistung weiter steigern können.
Beheben Sie Konfliktproblememit TempDBKonfigurationen
TempDB ist für die Leistung Ihrer Instanz von entscheidender Bedeutung, da sich die Arbeitslast in TempDB von der Arbeitslast in anderen Benutzerdatenbanken unterscheidet, sodass Objekte und Daten häufig erstellt und zerstört werden und eine extrem hohe Parallelität herrscht. Sie haben auf jedem Server eine TempDB und alle mit Ihrem Server verbundenen Datenbanken und Anwendungen nutzen diese TempDB gemeinsam. Eine starke TempDB-Nutzung kann einen Dienst lahmlegen, da er versucht, Seiten zuzuweisen. Abhängig vom Ausmaß des Konflikts kann dies dazu führen, dass Abfragen und Anforderungen, die TempDB betreffen, manchmal erheblich verzögert werden. Aus diesem Grund ist die Optimierung Ihrer TempDB für eine hohe Leistung von entscheidender Bedeutung.
Erhöhen Sie die Anzahl der Datendateien in Ihrer TempDBkann die Parallelität der TempDB Ihrer Instanz verbessern und die Festplattenbandbreite maximieren, da für jede Datendatei effektiv eine oder mehrere Global Allocation Map (GAM)- und Shared Global Allocation Map (SGAM)-Seiten erstellt werden. Der Ressourcenkonflikt auf der PFS-Seite wird reduziert, da jeweils acht Seiten als VOLL markiert sind, da GAM die Seiten zuweist. Beachten Sie jedoch, dass eine Erhöhung der Dateianzahl nicht immer eine gute Lösung ist. Erhöhte TempDB-Datendateien können bestimmte Arbeitslasten beeinträchtigen. Wenn SQL Server beispielsweise in SQL Server-Versionen (2016 und höher) eine TempDB-Datendatei automatisch vergrößert, werden alle Dateien gleichzeitig automatisch vergrößert, und jede Erhöhung führt zu Leistungseinbußen. Je mehr Datendateien TempDB hat, desto größer ist der Einfluss auf die Leistung. Auch der Start der Instanz dauert länger, da mehr Dateien auf Null gesetzt werden. Es gibt keine einheitliche Anzahl von TempDB-Dateien. Die schwer fassbare richtige Zahl hängt von der in TempDB angezeigten Konkurrenz ab. Dies ist für jede Ihrer Workloads individuell und kann durch einen vorsichtigen Test gehandhabt werden.
Während Sie die Anzahl der TempDB-Dateien in Azure SQL Managed Instance konfigurieren können, beträgt die Standardkonfiguration 12 TempDB-Datendateien und 1 TempDB-Protokolldatei. Sie können bis zu 128 TempDB-Dateien haben. Wenn Sie sich dafür entscheiden, diese Nummer zu ändern, können Sie dies auf die gleiche Weise wie bei SQL Server On-Premises tun; durch Hinzufügen oder Entfernen einer TempDB-Datendatei(en). Beachten Sie, dass Sie den Server nach dem Hinzufügen neuer Dateien nicht neu starten müssen; Allerdings werden die leereren Dateien mit höherer Priorität aufgefüllt und der Round-Robin-Algorithmus für die Seitenzuweisung wird eine Zeit lang nicht richtig funktionieren, bis das System neu ausbalanciert ist.Du kannst auchKonfigurieren Sie die maximale Größe von TempDBUm Ihre Arbeitslast besser zu unterstützen, empfehlen wir, für alle Ihre TempDB-Datendateien die gleiche Größe anzuwenden, um ein höheres Maß an Effizienz bei allen Vorgängen zu erreichen, die TempDB verwenden.
Optimieren Sie die Leistung mit In-Memory-Technologien
Erzielen Sie Leistungsverbesserungen bei der Online-Transaktionsverarbeitung (OLTP), der Online-Analyseverarbeitung (OLAP) und der gemischten (hybriden Transaktions-/Analyseverarbeitung (HTAP)).Workloads mit In-Memory-Technologien.
In-Memory-OLTPErhöht die Anzahl der Transaktionen pro Sekunde und reduziert die Latenz bei der Transaktionsverarbeitung. Transaktionsverarbeitung mit hohem Durchsatz wie Handel und Spiele, Datenaufnahme von Ereignissen oder IoT-Geräten, Caching, Datenladen sowie Szenarios mit temporären Tabellen und Tabellenvariablen profitieren alle von In-Memory-OLTP. Beachten Sie, dass In-Memory-OLTP nur auf der Dienstebene „Geschäftskritisch“ verfügbar ist.
Zu den weiteren In-Memory-Technologien gehören gruppierte Columnstore-Indizes, nicht gruppierte Columnstore-Indizes für HTAP und speicheroptimierte gruppierte Columnstore-Indizesfür HTAP. Gruppierte Columnstore-Indizes reduzieren Ihren Speicherbedarf (bis zum Zehnfachen) und verbessern die Leistung für Berichts- und Analyseabfragen. Sie können es mit Faktentabellen in Ihren Data Marts verwenden, um mehr Daten in Ihre Datenbank aufzunehmen und die Leistung zu verbessern. Sie können es auch mit historischen Daten in Ihrer Betriebsdatenbank verwenden, um bis zu zehnmal mehr Daten zu archivieren und abzufragen.Nicht gruppierte Columnstore-IndizesSo können Sie den teuren ETL-Prozess (Extrahieren, Transformieren und Laden) umgehen und warten, bis er gefüllt ist, der mit einem Data Warehouse verbunden ist. Sie können direkt abfragen. Nicht gruppierte Columnstore-Indizes ermöglichen die schnelle Ausführung von Analyseabfragen in der OLTP-Datenbank und reduzieren gleichzeitig die Auswirkungen auf die betriebliche Arbeitslast.Speicheroptimierte gruppierte Columnstore-Indizesermöglichen Ihnen eine schnelle Transaktionsverarbeitung und die gleichzeitige Ausführung von Analyseabfragen für dieselben Daten.
Die Schaffung des Grundsteins für die Leistung von Azure SQL Managed Instance ist nur der Anfang der Geschichte. Sobald Ihre Instanz betriebsbereit ist, müssen Sie sie überwachen und ausführenoptimierenLeistung, also bleiben Sie dran für den zweiten Teil dieses Blogs.Lesen Sie dies in der ZwischenzeitBenchmark-Studieum die Preis-Leistungs-Vorteile von SQL Managed Instance zu verstehen.
Für mehr Informationen,Nehmen Sie an unserem Webinar „Set Yourself Up for Performance Success on Azure SQL Managed Instance“ teil.