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. Sie müssen also nichts tun.

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-Heatmap mit einem diagonalen (von links nach rechts abfallenden) heißen 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 Antimuster. Informationen dazu, warum sequenzielle Schlüssel Hotspots verursachen, finden Sie auf der Seite Best Practices für das Schemadesign.

Persistente "heiße" Schlüsselbereiche

Beispiel-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 mit einem einzelnen heißen horizontalen Band

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 Scan der gesamten Tabelle an, der in Key Visualizer als helles Band der gesamten Tabelle angezeigt wird. Erwägen Sie stattdessen eine restriktivere Abfrage oder eine Abfrage des Index, um die Anzahl der zu scannenden Zeilen zu reduzieren.

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

Fortlaufende Lese- und Schreibvorgänge im Zeitverlauf

Beispiel-Heatmap mit diagonalen (von links nach rechts ansteigenden) heißen 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 die Anzahl der Knoten für die Instanz während dieser Zeiträume erhöhen. Sie können die Knotenanzahl zwischen den Punkten 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ötzlicher Anstieg der Zugriffszahlen

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

Eine Heatmap mit hellen horizontalen Bändern, die auf der Mitte der Heatmap erscheinen, weist auf eine plötzliche Änderung im Nutzungsmuster einer Datenbank hin. Dies kann eine betrügerische 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 kleinere Tabellen aus. Daher wird eine kleine Tabelle möglicherweise nur als ein einzelner Zeilenbereich auf der Heatmap 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 aktiv ist, weiß der Nutzer möglicherweise nur, dass diese Tabelle heiß ist, aber nicht mehr.
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