

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.

# Datenbanklast
<a name="USER_PerfInsights.Overview.ActiveSessions"></a>

Die *Datenbanklast (DB-Last)* misst den Sitzungsaktivitätsgrad in Ihrer Datenbank. `DBLoad` ist die wichtigste Metrik in Performance Insights und Performance Insights erfasst jede Sekunde die Datenbanklast.

**Topics**
+ [

## Aktive Sitzungen
](#USER_PerfInsights.Overview.ActiveSessions.active-sessions)
+ [

## Durchschnittliche aktive Sitzungen
](#USER_PerfInsights.Overview.ActiveSessions.AAS)
+ [

## Durchschnittliche aktive Ausführungen
](#USER_PerfInsights.Overview.ActiveSessions.AAE)
+ [

## Dimensionen
](#USER_PerfInsights.Overview.ActiveSessions.dimensions)

## Aktive Sitzungen
<a name="USER_PerfInsights.Overview.ActiveSessions.active-sessions"></a>

Eine *Datenbank-Sitzung* repräsentiert den Dialog einer Anwendung mit einer relationalen Datenbank. Eine aktive Sitzung ist eine Verbindung, die Arbeit an die DB-Engine gesendet hat und auf eine Antwort wartet. 

Eine Sitzung ist aktiv, wenn sie entweder auf der CPU läuft oder darauf wartet, dass eine Ressource verfügbar wird, damit sie fortfahren kann. Beispielsweise kann eine aktive Sitzung warten, bis eine Seite (oder ein Block) in den Speicher eingelesen wird, und verbraucht dann CPU, während sie Daten von der Seite liest. 

## Durchschnittliche aktive Sitzungen
<a name="USER_PerfInsights.Overview.ActiveSessions.AAS"></a>

Die *durchschnittlich aktive Sitzungen (AAS)* ist die Einheit für die `DBLoad`-Metrik in Performance Insights. Es wird gemessen, wie viele Sitzungen gleichzeitig in der Datenbank aktiv sind.

Jede Sekunde ruft Performance-Insights eine Stichprobe der Anzahl der Sitzungen ab, die gleichzeitig eine Abfrage ausführen. Für jede aktive Sitzung sammelt Performance Insights die folgenden Daten:
+ SQL-Anweisung
+ Sitzungsstatus (läuft auf der CPU oder wartet)
+ Host
+ Benutzer, der SQL ausführt

Performance Insights berechnet die AAS durch Dividieren der Gesamtzahl der Sitzungen durch die Gesamtzahl der Stichproben für einen bestimmten Zeitraum. Die folgende Tabelle zeigt beispielsweise 5 aufeinander folgende Stichproben einer laufenden Abfrage, die in Intervallen von 1 Sekunde abgefragt wurden.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/AmazonRDS/latest/UserGuide/USER_PerfInsights.Overview.ActiveSessions.html)

Im vorherigen Beispiel beträgt die DB-Last für das Zeitintervall 2 AAS. Diese Messung bedeutet, dass im Durchschnitt 2 Sitzungen gleichzeitig während des Zeitraums aktiv waren, in dem die 5 Stichproben erfasst wurden.

## Durchschnittliche aktive Ausführungen
<a name="USER_PerfInsights.Overview.ActiveSessions.AAE"></a>

Die durchschnittlichen aktiven Ausführungen (AAE) pro Sekunde stehen im Zusammenhang mit AAS. Um die AAE zu berechnen, teilt Performance Insights die Gesamtausführungszeit einer Abfrage durch das Zeitintervall. Die folgende Tabelle zeigt die AAE-Berechnung für dieselbe Abfrage in der vorherigen Tabelle.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/AmazonRDS/latest/UserGuide/USER_PerfInsights.Overview.ActiveSessions.html)

In den meisten Fällen sind die AAS und die AAE für eine Abfrage ungefähr gleich. Da es sich bei den Eingaben zu den Berechnungen jedoch um unterschiedliche Datenquellen handelt, variieren die Berechnungen häufig geringfügig.

## Dimensionen
<a name="USER_PerfInsights.Overview.ActiveSessions.dimensions"></a>

Die`db.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 „Aufteilungs“-Kategorien für die verschiedenen Merkmale der `DBLoad`-Metrik vorstellen.

Wenn Sie Leistungsprobleme diagnostizieren, sind die folgenden Dimensionen oft am nützlichsten:

**Topics**
+ [

### Warteereignisse
](#USER_PerfInsights.Overview.ActiveSessions.waits)
+ [

### Haupt-SQL
](#USER_PerfInsights.Overview.ActiveSessions.top-sql)
+ [

### Plans (Pläne)
](#USER_PerfInsights.Overview.ActiveSessions.plans)

Eine vollständige Liste der Dimensionen für die Amazon-RDS-Engines finden Sie unter [DB-Last aufgeteilt nach Dimensionen](USER_PerfInsights.UsingDashboard.Components.md#USER_PerfInsights.UsingDashboard.Components.AvgActiveSessions.dims).

### Warteereignisse
<a name="USER_PerfInsights.Overview.ActiveSessions.waits"></a>

Ein *Warteereignis* bewirkt, dass eine SQL-Anweisung wartet, bis ein bestimmtes Ereignis eintritt, bevor sie mit der Ausführung fortfahren kann. Warteereignisse sind eine wichtige Dimension oder Kategorie für die DB-Last, da sie angeben, wo die Arbeit behindert wird. 

Jede aktive Sitzung läuft entweder auf der CPU oder wartet. Sitzungen verbrauchen beispielsweise CPU, wenn sie Speicher nach einem Puffer suchen, eine Berechnung durchführen oder Prozeduralcode ausführen. Wenn Sitzungen keine CPU verbrauchen, warten sie möglicherweise darauf, dass ein Speicherpuffer frei wird, eine Datendatei gelesen oder ein Protokoll geschrieben wird. Je mehr Zeit eine Sitzung auf Ressourcen wartet, desto weniger Zeit läuft sie auf der CPU. 

Wenn Sie eine Datenbank tunen, versuchen Sie oft, die Ressourcen herauszufinden, auf die Sitzungen warten. Beispielsweise könnten zwei oder drei Warteereignisse 90 Prozent der DB-Last ausmachen. Diese Maßnahme bedeutet, dass aktive Sitzungen im Durchschnitt die meiste Zeit damit verbringen, auf eine kleine Anzahl von Ressourcen zu warten. Wenn Sie die Ursache dieser Wartezeiten herausfinden können, können Sie eine Lösung versuchen. 

Die Warteereignisse variieren je nach DB-Engine: 
+ Informationen zu allen MariaDB- und MySQL-Warteereignissen finden Sie unter [Wait Event Summary Tables](https://dev.mysql.com/doc/refman/8.0/en/performance-schema-wait-summary-tables.html) in der MySQL-Dokumentation.
+ Informationen zu allen PostgreSQL-Warteereignissen finden Sie unter [Der Statistikkollektor > Warteereignistabellen](https://www.postgresql.org/docs/current/monitoring-stats.html#WAIT-EVENT-TABLE) in der PostgreSQL-Dokumentation.
+ Informationen zu allen Oracle-Warteereignissen finden Sie unter [ Descriptions of Wait Events](https://docs.oracle.com/database/121/REFRN/GUID-2FDDFAA4-24D0-4B80-A157-A907AF5C68E2.htm#REFRN-GUID-2FDDFAA4-24D0-4B80-A157-A907AF5C68E2) in der Oracle-Dokumentation.
+ Informationen zu allen SQL-Warteereignissen finden Sie unter [ Types of Wait](https://docs.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/sys-dm-os-wait-stats-transact-sql?view=sql-server-2017#WaitTypes) in der SQL Server-Dokumentation.

**Anmerkung**  
Bei Oracle arbeiten Hintergrundprozesse manchmal ohne eine verknüpfte SQL-Anweisung. In diesen Fällen meldet Performance Insights die Art des Hintergrundprozesses, der mit einem Doppelpunkt und der diesem Hintergrundprozess zugeordneten Warteklasse verknüpft ist. Zu Arten des Hintergrundprozesses gehören `LGWR`, `ARC0`, `PMON` usw.   
Wenn das Archivierungsprogramm beispielsweise I/O ausführt, ist der Performance-Insights-Bericht ähnlic `ARC1:System I/O`. Gelegentlich fehlt auch der Hintergrundprozesstyp, und Performance Insights meldet nur die Warteklasse, z. B. `:System I/O`.

### Haupt-SQL
<a name="USER_PerfInsights.Overview.ActiveSessions.top-sql"></a>

Während Warteereignisse Engpässe zeigen, zeigt Top-SQL an, welche Abfragen am meisten zur DB-Last 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.

Standardmäßig zeigt die Performance-Insights-Konsole die wichtigsten SQL-Abfragen an, die zur Datenbanklast beitragen. Die Konsole zeigt auch relevante Statistiken für jede Anweisung an. Um Leistungsprobleme für eine bestimmte Anweisung zu diagnostizieren, können Sie deren Ausführungsplan untersuchen.

### Plans (Pläne)
<a name="USER_PerfInsights.Overview.ActiveSessions.plans"></a>

Ein *Ausführungsplan*, auch einfach als *Plan* bezeichnet, ist eine Abfolge von Schritten, mit denen auf Daten zugegriffen wird. Ein Plan zum Verbinden der Tabellen `t1` und `t2` könnte beispielsweise alle Zeilen in `t1` durchlaufen und jede Zeile mit einer Zeile in `t2` vergleichen. In einer relationalen Datenbank ist ein *Optimierer* integrierter Code, der den effizientesten Plan für eine SQL-Abfrage ermittelt.

Für DB-Instances erfasst Performance Insights automatisch Ausführungspläne. Um SQL-Leistungsprobleme zu diagnostizieren, untersuchen Sie die erfassten Pläne auf SQL-Abfragen mit hohem Ressourcenaufwand. Die Pläne zeigen, wie die Datenbank Abfragen analysiert und ausgeführt hat.

Weitere Informationen zum Analysieren von DB-Lasten mithilfe von Plänen finden Sie unter:
+ Oracle: [Analysieren von Oracle-Ausführungsplänen über das Performance-Insights-Dashboard für Amazon RDS](USER_PerfInsights.UsingDashboard.AccessPlans.md)
+ SQL Server: [Analysieren von SQL-Server-Ausführungsplänen über das Performance-Insights-Dashboard für Amazon RDS](USER_PerfInsights.UsingDashboard.AccessPlansSqlServer.md)

#### Erfassung der Pläne
<a name="USER_PerfInsights.Overview.ActiveSessions.plans.capture"></a>

Alle fünf Minuten identifiziert Performance Insights die ressourcenintensivsten Abfragen und erfasst ihre Pläne. So müssen Sie nicht eine riesige Zahl von Plänen manuell erfassen und verwalten. Stattdessen können Sie die Registerkarte **Top SQL** (Top-SQL) verwenden, um sich auf die Pläne für die problematischsten Abfragen zu konzentrieren. 

**Anmerkung**  
Performance Insights erfasst keine Pläne für Abfragen, deren Text die Obergrenze für erfassbaren Abfragetext überschreitet. Weitere Informationen finden Sie unter [Zugriff auf mehr SQL-Text im Performance-Insights-Dashboard](USER_PerfInsights.UsingDashboard.SQLTextSize.md).

Der Aufbewahrungszeitraum für Ausführungspläne ist der gleiche wie für Ihre Performance-Insights-Daten. Die Aufbewahrungseinstellung ist **Standard (7 Tage)**. Um Ihre Leistungsdaten länger aufzubewahren, geben Sie 1–24 Monate an. Weitere Informationen zum Aufbewahrungszeitraum finden Sie unter [Preisgestaltung und Datenspeicherung für Performance Insights](USER_PerfInsights.Overview.cost.md).

#### Digest-Abfragen
<a name="USER_PerfInsights.Overview.ActiveSessions.plans.digest"></a>

Auf der Registerkarte **Top SQL** (Top-SQL) werden standardmäßig Digest-Abfragen angezeigt. Eine Digest-Abfrage hat selbst keinen Plan, aber alle Abfragen, die Literalwerte verwenden, haben Pläne. Eine Digest-Abfrage könnte beispielsweise den Text `WHERE `email`=?` enthalten. Das Digest kann zwei Abfragen enthalten, eine mit dem Text `WHERE email=user1@example.com` und eine mit `WHERE email=user2@example.com`. Jede dieser Literalabfragen kann mehrere Pläne umfassen.

Wenn Sie eine Digest-Abfrage auswählen, zeigt die Konsole alle Pläne für untergeordnete Anweisungen des ausgewählten Digest an. So müssen Sie nicht alle untergeordneten Anweisungen durchsehen, um den Plan zu finden. Möglicherweise sehen Sie Pläne, die nicht in der angezeigten Liste der Top 10 der untergeordneten Anweisungen enthalten sind. Die Konsole zeigt Pläne für alle untergeordneten Abfragen an, für die Pläne erfasst wurden, unabhängig davon, ob sich die Abfragen unter den Top 10 befinden.