Heatmap-Muster

Diese Seite zeigt Beispiele für Muster, die in einer Heatmap von Key Visualizer angezeigt werden können. Diese Muster können Ihnen bei der Behebung bestimmter Leistungsprobleme helfen.

Einige Probleme, die in Key Visualizer auftreten, beziehen sich auf die Primärschlüsseldefinition. Da ein Primärschlüssel unveränderlich ist, werden diese Probleme am besten während der Entwicklungsphase oder beim Proof of Concept erkannt.

Andere Probleme können mit der Knotenzuordnung Ihrer Instanz zusammenhängen. Es kann erforderlich sein, zusätzliche Kapazitäten bereitzustellen, entweder insgesamt oder möglicherweise zu bestimmten Tageszeiten. Informationen zum Ändern der Anzahl der Knoten, die mit Ihrer Instanz verknüpft sind, finden Sie unter Anzahl der Knoten ändern.

Bevor Sie diese Seite lesen, sollten Sie sich mit den Informationen unter Übersicht über Key Visualizer vertraut machen.

Gleichmäßig verteilte Lese- und Schreibvorgänge

Beispiel-Heatmap, die gleichmäßig verteilte Bereiche von heiß und kalt zeigt

Wenn eine Heatmap eine fein strukturierte Mischung aus dunklen und hellen Farben aufweist, dann sind Lese- und Schreibvorgänge gleichmäßig über die Datenbank verteilt. Diese Heatmap stellt ein effektives Nutzungsmuster für Spanner dar, sodass Sie nichts unternehmen müssen.

Ihre eigene Heatmap ist möglicherweise nicht so gleichmäßig verteilt wie diese, veranschaulicht aber trotzdem ein fehlerfreies Schema und eine fehlerfreie Arbeitslast. In einer ordnungsgemäß ressourcenbasierten Konfiguration können einige Hotspots erwartet werden.

Kontinuierlich ansteigende Schlüssel

Beispiel einer Heatmap mit einem diagonalen (von links nach rechts fallenden) Heißband

Eine Heatmap mit einer einzelnen hellen diagonalen Linie oder einem Dreieck mit einer flachen Obergrenze kann auf eine Datenbank hinweisen, die sequenzielle Schlüssel verwendet. Sequenzielle Schlüssel sind in Spanner ein Anti-Muster. Auf der Seite Best Practices für das Schemadesign erfahren Sie, warum sequenzielle Schlüssel Hotspots verursachen.

Persistente "heiße" Schlüsselbereiche

Beispiel einer Heatmap mit mehreren heißen horizontalen Bändern

Wenn eine Heatmap horizontale Bänder in heller Farbe zeigt, die durch dunkle Farben voneinander getrennt sind, bedeutet dies, dass auf bestimmte Zeilenbereiche im Laufe der Zeit stärker zugegriffen wird.

Zur Behebung dieses Problems sollten Sie Ihr Schemadesign oder Ihre Anwendung so ändern, dass die Daten in einer stark beanspruchten oder einer übermäßig langen Zeile auf mehrere Zeilen verteilt werden.

Einzelne "heiße" Tabelle

Beispiel-Heatmap, die ein einzelnes heißes horizontales Band zeigt

Eine Heatmap mit einem Band in heller Farbe in einer einzelnen Tabelle deutet auf einen starken Zugriff auf diese Tabelle im Zeitverlauf hin.

Dieses Muster an sich ist nicht unbedingt problematisch. Wenn dieses Muster in Kombination mit Leistungsproblemen angezeigt wird, haben Sie wahrscheinlich keine Rechenkapazität mehr. Beachten Sie Folgendes:

  • Ihre Anwendung fordert möglicherweise einen vollständigen Tabellenscan an, der in Key Visualizer als helles Band der gesamten Tabelle angezeigt wird. Stattdessen sollten Sie eine restriktivere Abfrage verwenden oder den Index abfragen, um die Anzahl der gescannten Zeilen zu reduzieren.

  • Erhöhen Sie die Anzahl der Knoten für diese Instanz.

Roving-Lese- und -Schreibvorgänge im Zeitverlauf

Beispiel einer Heatmap mit diagonalen (von links nach rechts ansteigenden) Hot-Bändern

Eine Heatmap mit mehreren diagonalen (auf- oder absteigenden) hellen Linien zeigt in der Regel sequenzielle Lese- oder Schreibvorgänge in Zeilen innerhalb kurzer Zeit an.

Wenn die Zeilen einer Leseaktivität entsprechen, z. B. einem Tabellenexport, ist keine Aktion erforderlich. Wenn während dieser Lesevorgänge Leistungsprobleme auftreten, sollten Sie in diesen Zeiträumen die Anzahl der Knoten für Ihre Instanz erhöhen. Sie können die Anzahl der Knoten zwischen den Perioden verringern.

Wenn die Zeilen Schreibaktivitäten entsprechen und Leistungsprobleme auftreten, sollten Sie Ihre Arbeitslast in einen zufälligen Schreibvorgang anstelle eines sequenziellen Schreibvorgangs ändern.

Plötzliches Anstieg der Zugriffszahlen

Beispiel-Heatmap mit zwei warmen horizontalen Bändern, die auf halber Strecke der Heatmap beginnen

Eine Heatmap mit hellen horizontalen Bändern, die auf der Hälfte der Heatmap angezeigt werden, weisen auf eine plötzliche Änderung im Nutzungsmuster einer Datenbank hin. Dies kann eine fehlerhafte Abfrage oder ein unerwarteter Anstieg der Aktivität für bestimmte Zeilen sein.

Vorsichtsmaßnahmen

Es gibt einige Szenarien, in denen Key Visualizer möglicherweise kein vollständiges Bild der Leistung und Ressourcennutzung darstellt.

Szenario Aussagen der Heatmap
Eine große Datentabelle und einige kleine Tabellen Key Visualizer wählt in großen Tabellen mehr Zeilenbereiche als in kleineren Tabellen aus. Daher wird eine kleine Tabelle auf der Heatmap möglicherweise nur als einzelner Zeilenbereich angezeigt. Es gibt einen Zeilenbereich, der jede Tabelle darstellt, solange die Anzahl der Tabellen kleiner als 1.000 ist. Wenn ein Schlüssel oder ein kleiner Schlüsselbereich in einer kleinen Tabelle als aktiv eingestuft wird, weiß der Nutzer möglicherweise nur, dass diese Tabelle „heiß“ ist, aber nicht weiter.
Viele Tabellen/Indexe
Zum Beispiel eine Datenbank mit Hunderten oder über tausend Tabellen, unabhängig von der Größe.
Key Visualizer wählt maximal 1.000 Zeilenbereiche aus. Wenn viele Tabellen und Indexe vorhanden sind, haben einige davon möglicherweise keinen oder nur einen Datenpunkt in der Heatmap. Hotspots können daher möglicherweise fehlen, da ihre Tabelle übersprungen oder abgetastet wird.
Schnelle Änderungen der Schlüssel Schnelle Änderungen im Schlüsselbereich führen zu häufigen Änderungen in den Zeilenbereichen. Wenn ein vorheriger Zeilenbereich aufgrund neu eingefügter Schlüssel aufgeteilt werden muss oder mehrere Zeilenbereiche aufgrund gelöschter Schlüssel zusammengeführt werden, werden die Messwerte approximiert (z. B. geteilt/kombiniert). Eine zusammengesetzte Näherung von Messwerten kann zu einem Genauigkeitsverlust führen. Darüber hinaus gibt es eine Verzögerung bei der Aktualisierung von Zeilenbereichen nach Änderungen im Schlüsselbereich, die zu einem Verlust des Detaillierungsgrads führen können, bis die Zeilenbereiche aktualisiert wurden.

Nächste Schritte