

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.

# Profilierung von Amazon DocumentDB DocumentDB-Vorgängen
<a name="profiling"></a>

Sie können den Profiler in Amazon DocumentDB (mit MongoDB-Kompatibilität) verwenden, um die Ausführungszeit und Details der Operationen zu protokollieren, die auf Ihrem Cluster ausgeführt wurden. Profiler ist für die Überwachung der langsamsten Operationen in Ihrem Cluster nützlich. So können Sie die Leistung einzelner Abfragen und die allgemeine Cluster-Leistung verbessern.

Standardmäßig ist die Profiler-Funktion deaktiviert. Wenn diese Option aktiviert ist, protokolliert der Profiler Vorgänge, die länger dauern als ein vom Kunden definierter Schwellenwert (z. B. 100 ms), in Amazon CloudWatch Logs. Zu den protokollierten Details gehören der Befehl, für den das Profil erstellt wird, die Uhrzeit, die Planübersicht und die Client-Metadaten. Nachdem die Vorgänge in CloudWatch Logs protokolliert wurden, können Sie Logs Insights verwenden, um Ihre Amazon DocumentDB CloudWatch DocumentDB-Profilerstellungsdaten zu analysieren, zu überwachen und zu archivieren. Häufige Abfragen sind in Abschnitt [Häufig gestellte Fragen](#profiling.common-queries) zu finden. 

Wenn aktiviert, verbraucht der Profiler zusätzliche Ressourcen im Cluster. Sie sollten mit einem hohen Schwellenwert (z. B. 500 ms) beginnen und den Wert allmählich senken, um langsame Operationen zu identifizieren. Ein anfänglicher Schwellenwert von 50 ms kann für Anwendungen mit hohem Durchsatz zu Leistungsproblemen im Cluster führen. Der Profiler ist auf Cluster-Ebene aktiviert und funktioniert auf allen Instances und Datenbanken in einem Cluster. Amazon DocumentDB protokolliert Operationen nach bestem Wissen und Gewissen in Amazon CloudWatch Logs.

Amazon DocumentDB erhebt zwar keine zusätzlichen Gebühren für die Aktivierung des Profilers, Ihnen werden jedoch die Standardtarife für die Nutzung von Logs berechnet. CloudWatch Informationen zu den Preisen für CloudWatch Logs finden Sie unter [ CloudWatch Amazon-Preise](https://aws.amazon.com/cloudwatch/pricing/). 

**Topics**
+ [Unterstützte Vorgänge](#profiling.supported-commands)
+ [Einschränkungen](#profiling.limitations)
+ [Den Profiler aktivieren](#profiling.enable-profiling)
+ [Den Profiler deaktivieren](#profiling.disable-profiling)
+ [Export von Profiler-Protokollen deaktivieren](#profiling.disabling-logs-export)
+ [Greifen Sie auf Ihre Profiler-Protokolle zu](#profiling.accessing)
+ [Häufig gestellte Fragen](#profiling.common-queries)

## Unterstützte Vorgänge
<a name="profiling.supported-commands"></a>

Amazon DocumentDB Profiler unterstützt die folgenden Operationen:
+ `aggregate`
+ `count`
+ `delete`
+ `distinct`
+ `find` (OP\$1QUERY und Befehl)
+ `findAndModify`
+ `insert`
+ `update`

## Einschränkungen
<a name="profiling.limitations"></a>

Der Profiler für langsame Abfragen kann Profiler-Protokolle nur ausgeben, wenn die gesamte Ergebnismenge der Abfrage in einen Stapel passt und wenn die Ergebnismenge weniger als 16 MB (maximale BSON-Größe) beträgt. Ergebnissätze, die größer als 16 MB sind, werden automatisch in mehrere Batches aufgeteilt.

Die meisten Treiber oder Shells legen möglicherweise eine kleine Standardstapelgröße fest. Sie können die Batchgröße als Teil Ihrer Abfrage angeben. Für die Erfassung langsamer Abfrageprotokolle empfehlen wir eine Batchgröße, die die Größe Ihrer erwarteten Ergebnismenge übersteigt. Wenn Sie sich bezüglich der Größe der Ergebnismenge nicht sicher sind oder wenn sie variiert, können Sie die Batchgröße auch auf eine große Zahl festlegen (z. B. 100.000).

Die Verwendung einer größeren Batchgröße bedeutet jedoch, dass mehr Ergebnisse aus der Datenbank abgerufen werden müssen, bevor eine Antwort an den Client gesendet wird. Bei einigen Abfragen kann dies zu längeren Verzögerungen führen, bis Sie Ergebnisse erhalten. Wenn Sie nicht vorhaben, die gesamte Ergebnismenge zu verwenden, ist es möglich, dass Sie mehr I/Os für die Verarbeitung der Abfrage ausgeben und das Ergebnis dann verwerfen.

## Den Amazon DocumentDB DocumentDB-Profiler aktivieren
<a name="profiling.enable-profiling"></a>

Die Aktivierung des Profilers auf einem Cluster erfolgt in drei Schritten. Stellen Sie sicher, dass alle Schritte abgeschlossen sind, da andernfalls keine Profilerstellungsprotokolle an Logs gesendet CloudWatch werden. Profiler wird auf Cluster-Ebene festgelegt und auf allen Datenbanken und Instances des Clusters ausgeführt.

**So aktivieren Sie den Profiler in einem Cluster**

1. Da Sie eine Standard-Cluster-Parametergruppe nicht ändern können, stellen Sie sicher, dass Sie über eine verfügbare benutzerdefinierte Cluster-Parametergruppe verfügen. Weitere Informationen finden Sie unter [Amazon DocumentDB-Cluster-Parametergruppen erstellen](cluster_parameter_groups-create.md). 

1. Ändern Sie mithilfe einer verfügbaren benutzerdefinierten Cluster-Parametergruppe die folgenden Parameter: `profiler`, `profiler_threshold_ms` und `profiler_sampling_rate`. Weitere Informationen finden Sie unter [Amazon DocumentDB-Cluster-Parametergruppen ändern](cluster_parameter_groups-modify.md). 

1. Erstellen oder ändern Sie Ihren Cluster, um die benutzerdefinierte Cluster-Parametergruppe zu verwenden und den Export von `profiler` Protokollen in Logs zu CloudWatch ermöglichen.

In den folgenden Abschnitten wird gezeigt, wie Sie diese Schritte mithilfe von AWS-Managementkonsole und AWS Command Line Interface (AWS CLI) implementieren.

------
#### [ Using the AWS-Managementkonsole ]

1. Bevor Sie beginnen, erstellen Sie einen Amazon DocumentDB-Cluster und eine benutzerdefinierte Cluster-Parametergruppe, falls Sie noch keinen haben. Weitere Informationen erhalten Sie unter [Amazon DocumentDB-Cluster-Parametergruppen erstellen](cluster_parameter_groups-create.md) und [Einen Amazon DocumentDB-Cluster erstellen](db-cluster-create.md). 

1. Ändern Sie die folgenden Parameter mithilfe einer verfügbaren benutzerdefinierten Cluster-Parametergruppe. Weitere Informationen finden Sie unter [Amazon DocumentDB-Cluster-Parametergruppen ändern](cluster_parameter_groups-modify.md). 
   + `profiler`— Aktiviert oder deaktiviert die Erstellung von Abfrageprofilen. Zugelassene Werte sind `enabled ` und `disabled`. Der Standardwert ist `disabled`. Um Profiling zu aktivieren, legen Sie den Wert auf `enabled` fest.
   + `profiler_threshold_ms`— Wenn auf gesetzt `profiler` ist`enabled`, werden alle Befehle protokolliert, die länger dauern als ` profiler_threshold_ms` angegeben. CloudWatch Zugelassene Werte sind `[50-INT_MAX]`. Der Standardwert ist `100`.
   + `profiler_sampling_rate`— Der Anteil der langsamen Operationen, für die ein Profil erstellt oder protokolliert werden sollte. Zugelassene Werte sind `[0.0-1.0]`. Der Standardwert ist `1.0`.

1. Ändern Sie Ihren Cluster so, dass er die benutzerdefinierte Cluster-Parametergruppe verwendet, und legen Sie fest, dass die Profiler-Protokollexporte auf Amazon CloudWatch veröffentlicht werden sollen.

   1. Wählen Sie im Navigationsbereich die Option **Clusters (Cluster)**, um die benutzerdefinierte Parametergruppe zu einem Cluster hinzuzufügen.

   1. Wählen Sie die Schaltfläche links neben dem Namen des Clusters, dem Sie die Parametergruppe zuordnen möchten. Wählen Sie **Actions (Aktionen)** und dann **Modify (Ändern)** aus, um den Cluster zu ändern.

   1. Wählen Sie unter **Cluster options (Cluster-Optionen)** die benutzerdefinierte Parametergruppe aus dem obigen Schritt aus, um sie Ihrem Cluster hinzuzufügen.

   1. Wählen Sie unter **Protokollexporte** die Option **Profiler-Protokolle** aus, die auf Amazon CloudWatch veröffentlicht werden sollen.

   1. Wählen Sie **Continue (Weiter)** aus, um eine Übersicht Ihrer Änderungen anzuzeigen.

   1. Nachdem Sie Ihre Änderungen überprüft haben, können Sie diese sofort oder während des nächsten Wartungsfensters unter **Scheduling of modifications (Planen von Änderungen)** anwenden.

   1. Wählen Sie **Modify cluster (Cluster ändern)** aus, um den Cluster mit der neuen Parametergruppe zu aktualisieren. 

------
#### [ Using the AWS CLI ]

Mit dem folgenden Verfahren wird der Profiler für alle unterstützten Operationen für den Cluster `sample-cluster` aktiviert.

1. Bevor Sie beginnen, stellen Sie sicher, dass Sie über eine benutzerdefinierte Clusterparametergruppe verfügen, indem Sie den folgenden Befehl ausführen und die Ausgabe für eine Clusterparametergruppe überprüfen, die nicht `default` im Namen und die Parametergruppenfamilie `docdb3.6` hat. Wenn Sie über keine nicht standardmäßige Clusterparametergruppe verfügen, siehe [Amazon DocumentDB-Cluster-Parametergruppen erstellen](cluster_parameter_groups-create.md). 

   ```
   aws docdb describe-db-cluster-parameter-groups \
       --query 'DBClusterParameterGroups[*].[DBClusterParameterGroupName,DBParameterGroupFamily]'
   ```

   In der folgenden Ausgabe erfüllt nur `sample-parameter-group ` beide Kriterien.

   ```
   [
          [
              "default.docdb3.6",
              "docdb3.6"
          ],
          [
              "sample-parameter-group",
              "docdb3.6"
          ]
   ]
   ```

1. Ändern Sie mithilfe Ihrer benutzerdefinierten Cluster-Parametergruppe die folgenden Parameter:
   + `profiler`— Aktiviert oder deaktiviert die Erstellung von Abfrageprofilen. Zugelassene Werte sind `enabled ` und `disabled`. Der Standardwert ist `disabled`. Um Profiling zu aktivieren, legen Sie den Wert auf `enabled` fest.
   + `profiler_threshold_ms`— Wenn auf gesetzt `profiler` ist`enabled`, dauern alle Befehle länger, als protokolliert `profiler_threshold_ms` wurden. CloudWatch Zugelassene Werte sind `[50-INT_MAX]`. Der Standardwert ist `100`. 
   + `profiler_sampling_rate`— Der Anteil langsamer Operationen, für den ein Profil erstellt oder protokolliert werden sollte. Zugelassene Werte sind `[0.0-1.0]`. Der Standardwert ist `1.0`.

   ```
   aws docdb modify-db-cluster-parameter-group \
       --db-cluster-parameter-group-name sample-parameter-group \
       --parameters ParameterName=profiler,ParameterValue=enabled,ApplyMethod=immediate \
                    ParameterName=profiler_threshold_ms,ParameterValue=100,ApplyMethod=immediate \
                    ParameterName=profiler_sampling_rate,ParameterValue=0.5,ApplyMethod=immediate
   ```

1. Ändern Sie Ihren Amazon DocumentDB-Cluster so, dass er die `sample-parameter-group` benutzerdefinierte Cluster-Parametergruppe aus dem vorherigen Schritt verwendet und den Parameter `--enable-cloudwatch-logs-exports` auf `profiler` setzt.

   Der folgende Code ändert den Cluster so`sample-cluster`, dass er den `sample-parameter-group` aus dem vorherigen Schritt verwendet, und erweitert `profiler` die aktivierten CloudWatch Logs-Exporte.

   ```
   aws docdb modify-db-cluster \
          --db-cluster-identifier sample-cluster \
          --db-cluster-parameter-group-name sample-parameter-group \
          --cloudwatch-logs-export-configuration '{"EnableLogTypes":["profiler"]}'
   ```

   Die Ausgabe dieser Operation sieht in etwa folgendermaßen aus.

   ```
   {
       "DBCluster": {
           "AvailabilityZones": [
               "us-east-1c",
               "us-east-1b",
               "us-east-1a"
           ],
           "BackupRetentionPeriod": 1,
           "DBClusterIdentifier": "sample-cluster",
           "DBClusterParameterGroup": "sample-parameter-group",
           "DBSubnetGroup": "default",
           "Status": "available",
           "EarliestRestorableTime": "2020-04-07T02:05:12.479Z",
           "Endpoint": "sample-cluster.node.us-east-1.docdb.amazonaws.com",
           "ReaderEndpoint": "sample-cluster.node.us-east-1.docdb.amazonaws.com",
           "MultiAZ": false,
           "Engine": "docdb",
           "EngineVersion": "3.6.0",
           "LatestRestorableTime": "2020-04-08T22:08:59.317Z",
           "Port": 27017,
           "MasterUsername": "test",
           "PreferredBackupWindow": "02:00-02:30",
           "PreferredMaintenanceWindow": "tue:09:50-tue:10:20",
           "DBClusterMembers": [
               {
                   "DBInstanceIdentifier": "sample-instance-1",
                   "IsClusterWriter": true,
                   "DBClusterParameterGroupStatus": "in-sync",
                   "PromotionTier": 1
               },
               {
                   "DBInstanceIdentifier": "sample-instance-2",
                   "IsClusterWriter": true,
                   "DBClusterParameterGroupStatus": "in-sync",
                   "PromotionTier": 1
               }
           ],
           "VpcSecurityGroups": [
               {
                   "VpcSecurityGroupId": "sg-abcd0123",
                   "Status": "active"
               }
           ],
           "HostedZoneId": "ABCDEFGHIJKLM",
           "StorageEncrypted": true,
           "KmsKeyId": "arn:aws:kms:us-east-1:<accountID>:key/sample-key",
           "DbClusterResourceId": "cluster-ABCDEFGHIJKLMNOPQRSTUVWXYZ",
           "DBClusterArn": "arn:aws:rds:us-east-1:<accountID>:cluster:sample-cluster",
           "AssociatedRoles": [],
           "ClusterCreateTime": "2020-01-10T22:13:38.261Z",
           "EnabledCloudwatchLogsExports": [
               "profiler"
           ],
           "DeletionProtection": true
       }
   }
   ```

------

## Den Amazon DocumentDB DocumentDB-Profiler deaktivieren
<a name="profiling.disable-profiling"></a>

Um den Profiler zu deaktivieren, deaktivieren Sie sowohl den `profiler` Parameter als auch den Export von `profiler` Protokollen in Logs. CloudWatch 

### Deaktivieren des Profilers
<a name="profiling.disable-profiler"></a>

Sie können den `profiler` Parameter entweder mit AWS-Managementkonsole oder AWS CLI wie folgt deaktivieren.

------
#### [ Using the AWS-Managementkonsole ]

Das folgende Verfahren verwendet die AWS-Managementkonsole , um Amazon DocumentDB `profiler` zu deaktivieren.

1. Melden Sie sich bei der AWS-Managementkonsole an und öffnen Sie die Amazon DocumentDB DocumentDB-Konsole unter [https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb).

1. Wählen Sie im Navigationsbereich **Parameter groups (Parametergruppen)** aus. Wählen Sie dann den Namen der Cluster-Parametergruppe aus, für die Sie den Profiler deaktivieren möchten.

1. Klicken Sie auf der Seite **Cluster parameters (Clusterparameter)** auf die Schaltfläche links neben dem `profiler`-Parameter und wählen Sie **Edit (Bearbeiten)**.

1. Wählen Sie im Dialogfeld **Modify profiler (Profiler ändern)** `disabled` in der Liste aus.

1. Wählen Sie **Modify Cluster Parameter (Cluster-Parameter ändern)**. 

------
#### [ Using the AWS CLI ]

Um `profiler` auf einem Cluster mithilfe der AWS CLI zu deaktivieren, ändern Sie den Cluster wie folgt.

```
aws docdb modify-db-cluster-parameter-group \
    --db-cluster-parameter-group-name sample-parameter-group \
    --parameters ParameterName=profiler,ParameterValue=disabled,ApplyMethod=immediate
```

------

## Export von Profiler-Protokollen deaktivieren
<a name="profiling.disabling-logs-export"></a>

Sie können den Export von `profiler` Protokollen in Logs deaktivieren, CloudWatch indem Sie entweder das AWS-Managementkonsole oder verwenden AWS CLI, und zwar wie folgt.

------
#### [ Using the AWS-Managementkonsole ]

Im folgenden Verfahren wird der verwendet AWS-Managementkonsole , um den Export von Protokollen durch Amazon DocumentDB zu CloudWatch deaktivieren.

1. Öffnen Sie die Amazon DocumentDB DocumentDB-Konsole unter [https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb).

1. Klicken Sie im Navigationsbereich auf **Cluster**. Wählen Sie die Schaltfläche links neben dem Namen des Clusters, für den Sie den Export von Protokollen deaktivieren möchten.

1. Wählen Sie aus dem Menü **Actions (Aktionen)** die Option **Modify (Ändern)** aus.

1. Scrollen Sie nach unten zum Abschnitt **Log exports (Protokollexporte)** und deaktivieren Sie **Profiler logs (Profiler-Protokolle)**. 

1. Klicken Sie auf **Weiter**.

1. Überprüfen Sie Ihre Änderungen und wählen Sie dann aus, wann diese Änderung auf Ihren Cluster angewendet werden soll.
   + **Apply during the next scheduled maintenance window (Anwendung während des nächsten geplanten Wartungsfensters)**
   + **Apply immediately (Sofort anwenden)**

1. Wählen Sie **Cluster bearbeiten** aus.

------
#### [ Using the AWS CLI ]

Der folgende Code modifiziert den Cluster `sample-cluster ` und deaktiviert Profiler-Logs. CloudWatch 

**Example**  
Für Linux, macOS oder Unix:  

```
aws docdb modify-db-cluster \
   --db-cluster-identifier sample-cluster \
   --cloudwatch-logs-export-configuration '{"DisableLogTypes":["profiler"]}'
```
Für Windows:  

```
aws docdb modify-db-cluster ^
   --db-cluster-identifier sample-cluster ^
   --cloudwatch-logs-export-configuration '{"DisableLogTypes":["profiler"]}'
```
Die Ausgabe dieser Operation sieht in etwa folgendermaßen aus.  

```
{
    "DBCluster": {
        "AvailabilityZones": [
            "us-east-1c",
            "us-east-1b",
            "us-east-1a"
        ],
        "BackupRetentionPeriod": 1,
        "DBClusterIdentifier": "sample-cluster",
        "DBClusterParameterGroup": "sample-parameter-group",
        "DBSubnetGroup": "default",
        "Status": "available",
        "EarliestRestorableTime": "2020-04-08T02:05:17.266Z",
        "Endpoint": "sample-cluster.node.us-east-1.docdb.amazonaws.com",
        "ReaderEndpoint": "sample-cluster.node.us-east-1.docdb.amazonaws.com",
        "MultiAZ": false,
        "Engine": "docdb",
        "EngineVersion": "3.6.0",
        "LatestRestorableTime": "2020-04-09T05:14:44.356Z",
        "Port": 27017,
        "MasterUsername": "test",
        "PreferredBackupWindow": "02:00-02:30",
        "PreferredMaintenanceWindow": "tue:09:50-tue:10:20",
        "DBClusterMembers": [
            {
                "DBInstanceIdentifier": "sample-instance-1",
                "IsClusterWriter": true,
                "DBClusterParameterGroupStatus": "in-sync",
                "PromotionTier": 1
            },
            {
                "DBInstanceIdentifier": "sample-instance-2",
                "IsClusterWriter": true,
                "DBClusterParameterGroupStatus": "in-sync",
                "PromotionTier": 1
            }
        ],
        "VpcSecurityGroups": [
            {
                "VpcSecurityGroupId": "sg-abcd0123",
                "Status": "active"
            }
        ],
        "HostedZoneId": "ABCDEFGHIJKLM",
        "StorageEncrypted": true,
        "KmsKeyId": "arn:aws:kms:us-east-1:<accountID>:key/sample-key",
        "DbClusterResourceId": "cluster-ABCDEFGHIJKLMNOPQRSTUVWXYZ",
        "DBClusterArn": "arn:aws:rds:us-east-1:<accountID>:cluster:sample-cluster",
        "AssociatedRoles": [],
        "ClusterCreateTime": "2020-01-10T22:13:38.261Z",
        "DeletionProtection": true
    }
}
```

------

## Zugreifen auf Ihre Amazon DocumentDB DocumentDB-Profiler-Protokolle
<a name="profiling.accessing"></a>

Gehen Sie wie folgt vor, um auf Ihre Profilprotokolle bei Amazon zuzugreifen CloudWatch.

1. Öffnen Sie die CloudWatch Konsole unter [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Stellen Sie sicher, dass Sie sich in derselben Region wie Ihr Amazon DocumentDB-Cluster befinden.

1. Wählen Sie im Navigationsbereich **Protokolle** aus.

1. Um die Profiler-Protokolle für Ihren Cluster zu finden, wählen Sie in der Liste `/aws/docdb/yourClusterName/profiler` aus.

   Die Profilprotokolle für jede Ihrer Instances sind unter den jeweiligen Instance-Namen verfügbar.

## Häufig gestellte Fragen
<a name="profiling.common-queries"></a>

Im Folgenden finden Sie einige häufige Abfragen, die Sie verwenden können, um Ihre Befehle, für die Profile erstellt wurden, zu analysieren. Weitere Informationen zu CloudWatch Logs Insights finden Sie unter [Analysieren von Protokolldaten mit CloudWatch Logs Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html) und [Beispielabfragen](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax-examples.html). 

### Ruft die 10 langsamsten Vorgänge für eine angegebene Sammlung ab
<a name="profiling.common-queries.slow-queries-on-collection"></a>

```
filter ns="test.foo" | sort millis desc | limit 10
```

### Ruft alle Aktualisierungsvorgänge für eine Sammlung ab, die mehr als 60 ms gedauert haben
<a name="profiling.common-queries.updates-gt-60-ms"></a>

```
filter millis > 60 and op = "update"
```

### Holen Sie sich die 10 langsamsten Operationen des letzten Monats
<a name="profiling.common-queries.slow-queries-last-month"></a>

```
sort millis desc | limit 10
```

### Abrufen aller Abfragen mit einer COLLSCAN-Planübersicht
<a name="profiling.common-queries.collscan-plan-summary"></a>

```
filter planSummary="COLLSCAN"
```