Konzepte von Performance Insights - Amazon DocumentDB

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Konzepte von Performance Insights

Durchschnittliche aktive Sitzungen

Datenbanklast (DB-Last) misst den Aktivitätsgrad in Ihrer Datenbank. Die wichtigste Metrik für Performance Insights ist DB Load, die jede Sekunde erfasst wird. Die Einheit für die DBLoad Metrik ist der Average Active Sessions (AAS) für eine DocumentDB-Instance.

Eine aktive Sitzung ist eine Verbindung, die Arbeit an die DocumentDB-Instanz übermittelt hat und auf eine Antwort wartet. Wenn Sie beispielsweise eine Abfrage an eine DocumentDB-Instanz senden, ist die Datenbanksitzung aktiv, während die Instanz die Abfrage verarbeitet.

Um die Anzahl der durchschnittlich aktiven Sitzungen AAS zu erhalten, ruft Performance Insights die Anzahl der Sitzungen ab, die gleichzeitig eine Abfrage ausführen. Die AAS ist die Gesamtzahl der Sitzungen geteilt durch die Gesamtzahl der Beispiele. Die folgende Tabelle zeigt fünf aufeinanderfolgende Beispiele einer laufenden Abfrage.

Beispiel Anzahl der Sitzungen, die eine Abfrage ausführen AAS Berechnung

1

2

2

2 Sitzungen/1 Beispiel

2

0

1

2 Sitzungen/2 Beispiele

3

4

2

6 Sitzungen/3 Beispiele

4

0

1.5

6 Sitzungen/4 Beispiele

5

4

2

10 Sitzungen/5 Beispiele

Im vorherigen Beispiel beträgt der DB-Load für das Zeitintervall von 1-5 2 AAS. Eine Erhöhung der DB-Last bedeutet, dass im Durchschnitt mehr Sitzungen für die Datenbank ausgeführt werden.

Dimensionen

DieDB Load Metrik unterscheidet sich von den anderen Zeitreihenmetriken, da Sie sie in Unterkomponenten aufteilen können, die als Dimensionen bezeichnet werden. Sie können sich Dimensionen als Kategorien für die verschiedenen Merkmale der DB Load-Metrik vorstellen. Bei der Diagnose von Leistungsproblemen sind die Dimensionen Wait States und Top Query am nützlichsten.

Wartezustände

Ein Wartestatus bewirkt, dass eine Abfrageanweisung auf das Eintreten eines bestimmten Ereignisses wartet, bevor sie weiter ausgeführt werden kann. Beispielsweise kann eine Abfrageanweisung warten, bis eine gesperrte Ressource entsperrt ist. Durch die Kombination DB Load mit Wartezuständen können Sie sich ein vollständiges Bild vom Sitzungsstatus machen. Hier sind verschiedene DocumentDB-Wartezustände:

DocumentDB-Wartestatus Beschreibung des Wartestatus

Riegeln

Der Latch-Wartestatus tritt auf, wenn die Sitzung darauf wartet, den Pufferpool auszulagern. Häufiges Ein- und Auslagern des Pufferpools kann häufiger vorkommen, wenn das System häufig umfangreiche Abfragen verarbeitet, Sammlungsscans durchführt oder wenn der Pufferpool zu klein ist, um den Arbeitssatz zu verarbeiten.

CPU

Der CPU-Wartestatus tritt auf, wenn die Sitzung auf die CPU wartet.

CollectionLock

Der CollectionLock Wartestatus tritt ein, wenn die Sitzung darauf wartet, eine Sperre für die Sammlung zu erlangen. Diese Ereignisse treten auf, wenn DDL-Operationen für die Sammlung ausgeführt werden.

DocumentLock

Der DocumentLock Wartestatus tritt ein, wenn die Sitzung darauf wartet, ein Dokument zu sperren. Eine hohe Anzahl gleichzeitiger Schreibvorgänge auf dasselbe Dokument führt zu mehr DocumentLock Wartezuständen in diesem Dokument.

SystemLock

Der SystemLock Wartestatus tritt auf, wenn die Sitzung auf dem System wartet. Dies kann der Fall sein, wenn häufig Abfragen mit langer Laufzeit, lang andauernde Transaktionen oder eine hohe Parallelität im System auftreten.

IO

Der IO-Wartestatus tritt auf, wenn die Sitzung auf den Abschluss der IO wartet.

BufferLock

Der BufferLock Wartestatus tritt ein, wenn die Sitzung darauf wartet, eine Sperre für eine gemeinsam genutzte Seite im Puffer zu erlangen. BufferLockWartezustände können verlängert werden, wenn andere Prozesse die Cursor auf den angeforderten Seiten offen halten.

LowMemThrottle

Der LowMemThrottle Wartestatus tritt auf, wenn die Sitzung aufgrund einer hohen Speicherauslastung auf der Amazon DocumentDB DocumentDB-Instance wartet. Wenn dieser Status für eine lange Zeit andauert, sollten Sie erwägen, die Instance zu skalieren, um zusätzlichen Speicher bereitzustellen. Weitere Informationen finden Sie unter Resource Governor.

BackgroundActivity

Der BackgroundActivity Wartestatus tritt auf, wenn die Sitzung auf interne Systemprozesse wartet.

Sonstige

Der Wartestatus Andere ist ein interner Wartestatus. Wenn dieser Status über einen längeren Zeitraum andauert, sollten Sie erwägen, diese Abfrage zu beenden. Weitere Informationen finden Sie unter Wie finde und beende ich Abfragen mit langer Laufzeit oder blockierter Ausführung?

Die häufigsten Abfragen

Während bei Wartezuständen Engpässe auftreten, zeigen Abfragen am häufigsten, welche Abfragen am meisten zur Datenbanklast beitragen. Beispielsweise könnten derzeit viele Abfragen gleichzeitig in der Datenbank ausgeführt werden, aber eine einzelne Abfrage könnte 99 % der DB-Last verbrauchen. In diesem Fall könnte die hohe Belastung auf ein Problem mit der Abfrage hinweisen.

Max. vCPU

Das Diagramm Datenbanklast im Dashboard dient zum Erfassen, Aggregieren und Anzeigen von Sitzungsinformationen. Um zu sehen, ob aktive Sitzungen die maximale CPU überschreiten, sehen Sie sich ihre Beziehung zur Max vCPU-Linie an. Der Wert Max vCPU wird durch die Anzahl der vCPU-Kerne (virtuelle CPU) für Ihre DocumentDB-Instance bestimmt.

Wenn die DB-Last häufig über der Max vCPU-Linie liegt und der primäre Wartezustand „CPU“ lautet, ist die CPU überlastet. In diesem Fall möchten Sie möglicherweise die Verbindungen zur Instanz drosseln, alle Abfragen mit hoher CPU-Last optimieren oder eine größere Instance-Klasse in Betracht ziehen. Hohe und konsistente Instances von Wartezuständen deuten darauf hin, dass es möglicherweise Engpässe oder Probleme mit Ressourcenkonflikten gibt, die behoben werden müssen. Dies kann auch dann zutreffen, wenn die DB-Last die mit Max vCPU definierte Linie nicht überschreitet.