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 nicht aktiv werden.

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 fallenden) „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 Anti-Muster. Informationen dazu, warum sequenzielle Schlüssel Hotspots verursachen, finden Sie auf der Seite Best Practices für 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 vollständigen Tabellenscan an, der im Key Visualizer als heller Streifen über die gesamte Tabelle angezeigt wird. Verwenden Sie stattdessen eine restriktivere Abfrage oder eine Abfrage über den Index, um die Anzahl der zu scannenden Zeilen zu reduzieren.

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

Laufende Lese- und Schreibvorgänge im Zeitverlauf

Beispiel-Heatmap mit diagonalen (von links nach rechts steigenden) „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 Leseaktivitäten entsprechen, z. B. einem Tabellenexport, müssen Sie nichts unternehmen. Wenn bei diesen Lesevorgängen Leistungsprobleme auftreten, können Sie die Anzahl der Knoten für Ihre Instanz in diesen Zeiträumen erhöhen. Sie können die Knotenanzahl zwischen den Zeiträumen 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 Trafficanstieg

Beispiel-Heatmap mit zwei „heißen“ horizontalen Bändern, die in der Mitte der Heatmap beginnen

Eine Heatmap mit hellen horizontalen Bändern, die in der Mitte der Heatmap erscheinen, weist auf eine plötzliche Änderung des Nutzungsmusters einer Datenbank hin. Das kann eine fehlerhafte Abfrage oder ein unerwarteter Aktivitätsanstieg 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 In großen Tabellen werden mehr Zeilenbereiche als in kleineren Tabellen ausgewählt. Daher wird eine kleine Tabelle in der Heatmap möglicherweise nur als einzelner Zeilenbereich angezeigt. Solange die Anzahl der Tabellen unter 1.000 liegt,gibt es einen Zeilenbereich für jede Tabelle. Wenn ein Schlüssel oder ein kleiner Bereich von Schlüsseln in einer kleinen Tabelle heiß 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