Migrationsleistung: Leistungsbaseline für Migrationen von SQL Server zu Azure SQL Managed Instance

Gilt für:Azure SQL Managed Instance

Erstellen Sie eine Leistungsbaseline zum Vergleichen der Leistung Ihrer Workload in einer SQL Managed Instance-Instanz mit Ihrer ursprünglich in SQL Server ausgeführten Workload.

Erstellen einer Baseline

Im Idealfall ist die Leistung nach einer Migration ähnlich oder besser. Es ist also wichtig, Baselineleistungswerte für die Quelle zu messen und aufzuzeichnen und diese dann mit der Zielumgebung zu vergleichen. Eine Performance-Baseline ist eine Reihe von Parametern, die Ihre durchschnittliche Workload auf Ihrem Quellsystem definieren.

Wählen Sie Abfragen aus, die für Ihre geschäftliche Workload wichtig und repräsentativ sind. Messen und dokumentieren Sie die minimale, durchschnittliche und die maximale Dauer sowie die CPU-Auslastung dieser Abfragen sowie Leistungsmetriken zum Quellserver, z. B. durchschnittliche und maximale CPU-Auslastung, durchschnittliche und maximale EA-Latenz für Datenträger, Durchsatz, durchschnittliche und maximale Seitenlebenserwartung und durchschnittliche und maximale Größe von tempdb.

Die folgenden Ressourcen unterstützen Sie beim Definieren einer Leistungsbaseline:

  • CPU-Auslastung überwachen
  • Überwachen der Arbeitsspeichernutzung und Bestimmen der Menge von Arbeitsspeicher, die von verschiedenen Komponenten, z. B. Pufferpool, Plancache, Columnstorepool, In-Memory-OLTP usw., verwendet wird. Darüber hinaus sollten Sie die durchschnittlichen und maximalen Werte des Speicherleistungsindikators „Seitenlebenserwartung“ ermitteln.
  • Überwachen Sie die Datenträger-E/A-Auslastung auf der SQL Server-Quellinstanz mit der sys.dm_io_virtual_file_stats-Sicht oder mit Leistungsindikatoren.
  • Überwachen Sie die Arbeitsauslastung und Abfrageleistung durch Untersuchen von Dynamischen Verwaltungssichten (oder dem Abfragespeicher, wenn Sie von SQL Server 2016 oder höher migrieren). Identifizieren Sie die durchschnittliche Dauer und die CPU-Auslastung der wichtigsten Abfragen Ihrer Workload.

Sämtliche Leistungsprobleme auf der SQL Server-Quellinstanz sollten vor der Migration beseitigt werden. Ein Migrieren bekannter Probleme zu einem neuen System kann zu unerwarteten Ergebnissen führen und jeden Leistungsvergleich ungültig machen.

Vergleichen der Leistung

Nach dem Definieren einer Baseline können Sie eine ähnliche Workloadleistung auf der SQL Managed Instance-Zielinstanz vergleichen. Aus Gründen der Genauigkeit ist es wichtig, dass die SQL Managed Instance-Umgebung mit der SQL Server-Umgebung möglichst weitgehend vergleichbar ist.

Es gibt Unterschiede bei der SQL Managed Instance-Infrastruktur, die eine exakt übereinstimmende Leistung unwahrscheinlich machen. Manche Abfragen werden möglicherweise schneller als erwartet ausgeführt, andere dahingegen langsamer. Das Ziel dieses Vergleichs ist, zu überprüfen, ob die Workloadleistung in der verwalteten Instanz mit der Leistung in SQL Server (im Durchschnitt) übereinstimmt, und festzustellen, ob es besonders wichtige Abfragen gibt, deren Leistung nicht der ursprünglichen Leistung entspricht.

Ein Vergleich der Leistung führt vermutlich zu den folgenden Ergebnissen:

  • Die Workloadleistung in der verwalteten Instanz ist gleich der oder besser als die Workloadleistung in Ihrer SQL Server-Quellinstanz. In diesem Fall bestätigen Sie, dass die Migration erfolgreich ist.

  • Die meisten Leistungsparameter und die Abfragen in der Workload funktionieren ordnungsgemäß, es gibt aber einige Ausnahmen mit beeinträchtigter Leistung. In diesem Fall müssen Sie die Unterschiede und deren Wichtigkeit ermitteln. Gibt es einige wichtige Abfragen mit verminderter Leistung, sollten Sie untersuchen, ob die zugrunde liegenden SQL-Pläne geändert wurden oder ob die Abfragen an Ressourcengrenzen stoßen. Sie können dies abmildern, indem Sie auf kritische Abfragen einige Hinweise anwenden (z. B. den Kompatibilitätsgrad ändern oder den Legacy-Kardinalitätsschätzer verwenden), entweder direkt oder mithilfe von Planhinweisen. Sorgen Sie dafür, dass Statistiken und Indizes in beiden Umgebungen aktuell und äquivalent sind.

  • Die meisten der Abfragen sind in einer verwalteten Instanz im Vergleich zu Ihrer SQL Server-Quellinstanz langsamer. In diesem Fall sollten Sie die Hauptursachen für die Unterschiede ermitteln, etwa das Erreichen einiger Ressourcengrenzen wie E/A-Grenzwerte, Arbeitsspeichergrenzwerte oder Grenzwerte der Instanzprotokollrate. Gibt es keine Ressourcengrenzwerte, die den Unterschied verursachen können, sollten Sie den Kompatibilitätsgrad der Datenbank oder Datenbankeinstellungen (etwa eine Schätzung der bisherigen Kardinalität) ändern und den Test neu starten. Überprüfen Sie die Empfehlungen in den Ansichten der verwalteten Instanz oder des Abfragespeichers, um die Abfragen mit verschlechterter Leistung zu identifizieren.

SQL Managed Instance verfügt über ein integriertes automatisches Plankorrekturfeature, das standardmäßig aktiviert ist. Dieses Feature stellt sicher, dass Abfragen, die bisher einwandfrei funktioniert haben, in Zukunft nicht beeinträchtigt werden. Wenn dieses Feature nicht aktiviert ist, führen Sie die Workload mit den alten Einstellungen aus, sodass SQL Managed Instance Informationen zur Leistungsbaseline erhalten kann. Aktivieren Sie das Feature dann, und führen Sie die Workload noch mal mit den neuen Einstellungen aus.

Nehmen Sie Änderungen an den Parametern Ihres Tests vor, oder führen Sie ein Upgrade auf höhere Dienstebenen durch, um die optimale Konfiguration für die Workloadleistung nutzen zu können, die Ihren Anforderungen entspricht.

Überwachen der Leistung

SQL Managed Instance bietet erweiterte Tools zur Überwachung und Problembehandlung, die Sie zur Überwachung der Leistung bei Ihrer Instanz verwenden sollten. Unten finden Sie einige der wichtigsten zu überwachenden Metriken:

  • CPU-Nutzung auf der Instanz, um zu bestimmen, ob die Anzahl der bereitgestellten virtuellen Kerne Ihrer Workload entspricht.
  • Seitenlebenserwartung für Ihre verwaltete Instanz, um zu bestimmen, ob Sie mehr Arbeitsspeicher benötigen.
  • Statistiken wie INSTANCE_LOG_GOVERNOR oder PAGEIOLATCH die Speicher-E/A-Probleme identifizieren, insbesondere auf der Ebene "Allgemeiner Zweck", in denen Sie Möglicherweise Dateien vorab zuordnen müssen, um eine bessere E/A-Leistung zu erzielen.

Überlegungen

Beachten Sie beim Vergleichen der Leistung die folgenden Anforderungen:

  • Die Einstellungen stimmen zwischen Quelle und Ziel überein. Überprüfen Sie, ob die verschiedenen Einstellungen für Instanz, Datenbank und tempdb zwischen den beiden Umgebungen äquivalent sind. Unterschiede bei Konfigurationen, Kompatibilitätsstufen, Verschlüsselungseinstellungen, Traceflags usw. können die Leistung verfälschen.

  • Der Speicher ist gemäß Best Practices konfiguriert. Beispielsweise müssen Sie für General Purpose möglicherweise die Größe der Dateien im Voraus reservieren, um die Leistung zu verbessern.

  • Es bestehen wichtige Umgebungsunterschiede, die zu Leistungsunterschieden zwischen einer verwalteten Instanz und SQL Server führen können. Ermitteln Sie Risiken, die für Ihre Umgebung eine Rolle spielen und zu einem Leistungsproblem führen könnten.

  • Abfragespeicher und automatische Anpassungen sollten für Ihre SQL Managed Instance-Instanz aktiviert sein, da sie Sie dabei unterstützen, die Workloadleistung zu messen und mögliche Leistungsprobleme automatisch zu beheben.