Wenn ein Benutzer oder eine Anwendung Anfragen an eine Datenbank stellt, werden Ressourcen auf diesem System verbraucht. Wenn die Anzahl der Anfragen zunimmt, kann es zu Ressourcenwartezeiten kommen. Diese Wartezeiten führen zu Performance-Engpässen und im Fall von cloudbasierten Datenbanken zu zusätzlichen monatlichen Kosten! Bei der Diagnose von Leistungsengpässen besteht der erste Schritt darin, zu verstehen, welche Ressourcen betroffen sind.
In der Lage zu sein, einen Leistungsengpass einer bestimmten Ressourcenwartezeit, dann einem bestimmten Code und schließlich der Arbeitslast eines bestimmten Benutzers zuzuordnen, ermöglicht es Ihnen, der Grundursache auf den Grund zu gehen und den Engpass dauerhaft zu beheben.
Beispielsweise stellen Sie möglicherweise fest, dass eine Anwendung langsam läuft, weil die CPU auf dem Datenbankserver überlastet ist, weil Matt in der Einkaufsabteilung einen Bestandsaufnahmebericht in der Werksdatenbank ausführt.
Der Workload Analyzer von Spotlight Cloud ist das Tool, das dies mit seiner benutzerfreundlichen Navigation ermöglicht.
So verwenden Sie den Workload Analyzer von Spotlight Cloud
Zu Beginn können Sie den gewünschten Zeitraum auswählen. Spotlight Cloud speichert die Daten eines Jahres, sodass Sie zu jedem Zeitpunkt oder Zeitraum im vergangenen Jahr zurückgehen können.
Dann haben Sie die Möglichkeit, nach Ressourcen zu filtern. Wenn Sie beispielsweise wissen, dass das Problem CPU-bezogen ist, können Sie die CPU-Ressource auswählen. Dadurch werden die Informationen zu allen anderen Ressourcen wie E/A, Sperren und Speicher herausgefiltert, wodurch das weiße Rauschen effektiv eliminiert und das Auffinden der eigentlichen Ursache erleichtert wird.
Workload Analyzer-Standardseite
Führen Sie einen Drilldown in die Datenbankdimension durch, und es werden die obersten Datenbanken, die die meisten Ressourcen verbrauchen, von hoch nach niedrig sortiert und entsprechend schattiert. Dieser Sortiermechanismus wird bei jeder Iteration eines Drilldowns beibehalten.
Drilling in die Datenbankdimension
Darüber hinaus sollten Sie einen Drilldown in die Verkaufsdatenbank durchführen, da es wichtig ist zu wissen, wie sich die Wartezeiten in der Datenbank mit dem höchsten Verbrauch speziell verhalten. In diesem Beispiel entfiel der Großteil der Arbeitslast auf CPU- (45,7 %) und E/A-Ressourcen (30,2 %), und ihre Raten liegen nahe bei 0,48 Sekunden/s und 0,43 Sekunden/s.
Drilling in die Sales Database-Dimension
Parallel dazu filtert die Auswahl von CPU die anderen Ressourcen heraus und liefert eine angepasste, nur CPU-bezogene Anzeige. Die Möglichkeit, eine bestimmte Workload zu isolieren, ist nützlich, da sie die störenden Metriken visuell ausblendet, sodass Sie sich nur auf das konzentrieren können, was Vorrang hat. Außerdem können Leistungsindikatoren übereinander grafisch dargestellt werden, sodass Sie Korrelationen visuell erkennen können.
Leistungskennzahlen nur nach CPU-Statistiken gefiltert
Führen Sie als Nächstes einen Drilldown in T-SQL-Batches durch. Auf diese Weise können wir herausfinden, welche Chargen in der Verkaufsdatenbank am anstrengendsten sind.
Drilling in die T-SQL-Batches
Da dieser Stapel sehr CPU-intensiv ist, ist es wichtig zu wissen, welche Abfragen innerhalb dieses Stapels für die zusätzlichen Kosten verantwortlich sind. Die Verwendung des T-SQL-Texts in Verbindung mit dem Ausführungsplan zeigt, dass der Sort-Operator schuld ist. SQL Optimizer prognostiziert, dass die geschätzte Gebühr 97 Prozent beträgt. Das Hinzufügen eines Indexes kann zur Leistungsoptimierung beitragen.
T-SQL-Anweisungen
Ausführungsplan und Kostenanalyse der durchgeführten Operationen
Beachten Sie, dass die Ressourcenauswahl so konfiguriert werden kann, dass eine Ressource hervorgehoben wird, sobald ihre Auslastung einen vordefinierten Schwellenwert überschreitet. Beispielsweise können Sie den Selektor so einstellen, dass E/A-Ressourcen hervorgehoben werden, wenn die Wartezeit mehr als 30 Prozent beträgt.
Ressourcenauswahlkonfigurationen für E/A-Ressourcen anpassen
Aktualisierte Konfigurationen für E/A-Ressourcenauswahl angewendet