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-Vorgängen
Sie können den Profiler in Amazon DocumentDB (mit MongoDB-Kompatibilität) verwenden, um die Ausführungszeit und Details der auf Ihrem Cluster ausgeführten Operationen zu protokollieren. 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 als ein vom Kunden definierter Schwellenwert dauern (z. B. 100 ms), in Amazon Logs. CloudWatch 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 CloudWatch DocumentDB-Profilerstellungsdaten zu analysieren, zu überwachen und zu archivieren. Häufige Abfragen sind in Abschnitt Häufig gestellte Abfragen zu finden.
Wenn aktiviert, verbraucht der Profiler zusätzliche Ressourcen im Cluster. Beginnen Sie mit einem hohen Schwellenwert (z. B. 500 ms) und senken Sie den Wert schrittweise, um langsame Vorgänge zu erkennen. Ein anfänglicher Schwellenwert von 50 ms kann für Anwendungen mit hohem Durchsatz zu Leistungsproblemen im Cluster führen. Der Profiler ist auf Clusterebene aktiviert und funktioniert auf allen Instanzen und Datenbanken in einem Cluster. Amazon DocumentDB protokolliert Operationen nach bestem CloudWatch Bemühen in Amazon 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 Amazon-Preise. CloudWatch
Unterstützte Vorgänge
Amazon DocumentDB Profiler unterstützt die folgenden Operationen:
Einschränkungen
Der Slow Query Profiler kann Profiler-Logs nur ausgeben, wenn die gesamte Ergebnismenge der Abfrage in einen Batch passt und wenn die Ergebnismenge unter 16 MB liegt (maximale BSON-Größe). 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. Um langsame Abfrageprotokolle zu erfassen, verwenden Sie eine Batchgröße, die die Größe Ihrer erwarteten Ergebnismenge überschreitet. Wenn Sie sich über die Größe der Ergebnismenge nicht sicher sind oder wenn sie variiert, legen Sie die Batchgröße auf eine große Zahl fest (z. B. 100.000).
Wenn Sie jedoch eine größere Batchgröße verwenden, müssen mehr Ergebnisse aus der Datenbank abgerufen werden, 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 für I/Os die Verarbeitung der Abfrage ausgeben und das Ergebnis wegwerfen.
Den Amazon DocumentDB-Profiler aktivieren
Die Aktivierung des Profilers auf einem Cluster erfolgt in drei Schritten. Stellen Sie sicher, dass alle Schritte abgeschlossen sind. Andernfalls werden keine Profilerstellungsprotokolle an Logs gesendet CloudWatch . Profiler wird auf Cluster-Ebene festgelegt und auf allen Datenbanken und Instances des Clusters ausgeführt.
So aktivieren Sie den Profiler in einem Cluster
-
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 Erstellen von Amazon DocumentDB-Cluster-Parametergruppen.
-
Ä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 Ändern der Amazon DocumentDB-Cluster-Parametergruppen.
-
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
-
-
Bevor Sie beginnen, erstellen Sie einen Amazon DocumentDB-Cluster und eine benutzerdefinierte Cluster-Parametergruppe, falls Sie noch keine haben. Weitere Informationen erhalten Sie unter Erstellen von Amazon DocumentDB-Cluster-Parametergruppen und Erstellen eines Amazon DocumentDB-Clusters.
-
Ändern Sie die folgenden Parameter mithilfe einer verfügbaren benutzerdefinierten Cluster-Parametergruppe. Weitere Informationen finden Sie unter Ändern der Amazon DocumentDB-Cluster-Parametergruppen.
-
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, werden alle Befehleenabled, die länger dauern, als protokolliert wurden,
profiler_threshold_ms angezeigt. 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.
-
Ändern Sie Ihren Cluster so, dass er die benutzerdefinierte Cluster-Parametergruppe verwendet, und legen Sie fest, dass die Profiler-Protokollexporte auf Amazon veröffentlicht werden. CloudWatch
-
Wählen Sie im Navigationsbereich die Option Clusters (Cluster), um die benutzerdefinierte Parametergruppe zu einem Cluster hinzuzufügen.
-
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.
-
Wählen Sie unter Cluster options (Cluster-Optionen) die benutzerdefinierte Parametergruppe aus dem obigen Schritt aus, um sie Ihrem Cluster hinzuzufügen.
-
Wählen Sie unter Protokollexporte die Profiler-Protokolle aus, die auf Amazon veröffentlicht werden sollen. CloudWatch
-
Wählen Sie Continue (Weiter) aus, um eine Übersicht Ihrer Änderungen anzuzeigen.
-
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.
-
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.
-
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 Erstellen von Amazon DocumentDB-Cluster-Parametergruppen.
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"
]
]
-
Ä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 diese Option auf gesetzt profiler istenabled, dauern alle Befehle länger, als sie angemeldet profiler_threshold_ms sind. 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
-
Ä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 festlegt. profiler
Der folgende Code ändert den Cluster sosample-cluster, dass er den sample-parameter-group aus dem vorherigen Schritt verwendet, und fügt die aktivierten CloudWatch Logs-Exporte profiler hinzu.
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-Profiler deaktivieren
Um den Profiler zu deaktivieren, deaktivieren Sie sowohl den profiler Parameter als auch den Export von profiler Protokollen nach Logs. CloudWatch
Deaktivieren des Profilers
Sie können den profiler Parameter wie folgt deaktivieren AWS CLI, indem Sie entweder AWS-Managementkonsole oder verwenden.
- Using the AWS-Managementkonsole
-
Das folgende Verfahren verwendet das AWS-Managementkonsole , um Amazon DocumentDB profiler zu deaktivieren.
-
Melden Sie sich bei der AWS-Managementkonsole an und öffnen Sie die Amazon DocumentDB-Konsole unter. https://console.aws.amazon.com/docdb
-
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.
-
Klicken Sie auf der Seite Cluster parameters (Clusterparameter) auf die Schaltfläche links neben dem profiler-Parameter und wählen Sie Edit (Bearbeiten).
-
Wählen Sie im Dialogfeld Modify profiler (Profiler ändern) disabled in der Liste aus.
-
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
Der Export von Profiler-Protokollen wird deaktiviert
Sie können den Export von profiler Protokollen in Logs deaktivieren, CloudWatch indem Sie entweder das AWS-Managementkonsole oder verwenden AWS CLI, wie im Folgenden beschrieben.
- Using the AWS-Managementkonsole
-
Im folgenden Verfahren wird der verwendet AWS-Managementkonsole , um den Export von Protokollen durch Amazon DocumentDB nach zu CloudWatch deaktivieren.
-
Öffnen Sie die Amazon DocumentDB-Konsole unter. https://console.aws.amazon.com/docdb
-
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.
-
Wählen Sie aus dem Menü Actions (Aktionen) die Option Modify (Ändern) aus.
-
Scrollen Sie nach unten zum Abschnitt Log exports (Protokollexporte) und deaktivieren Sie Profiler logs (Profiler-Protokolle).
-
Klicken Sie auf Weiter.
-
Überprüfen Sie Ihre Änderungen und wählen Sie dann aus, wann diese Änderung auf Ihren Cluster angewendet werden soll.
-
Wählen Sie Cluster bearbeiten aus.
- Using the AWS CLI
-
Der folgende Code ändert den Cluster sample-cluster
und deaktiviert CloudWatch Profiler-Logs.
Beispiel
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
}
}
Zugriff auf Ihre Amazon DocumentDB-Profiler-Protokolle
Folgen Sie diesen Schritten, um auf Ihre Profilprotokolle bei Amazon CloudWatch zuzugreifen.
Öffnen Sie die CloudWatch Konsole unter https://console.aws.amazon.com/cloudwatch/.
-
Stellen Sie sicher, dass Sie sich in derselben Region wie Ihr Amazon DocumentDB-Cluster befinden.
-
Wählen Sie im Navigationsbereich Protokolle aus.
-
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 Abfragen
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 Logdaten mit CloudWatch Logs Insights und Beispielabfragen.
Ruft die 10 langsamsten Operationen für eine bestimmte Sammlung ab
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
filter millis > 60 and op = "update"
Holen Sie sich die 10 langsamsten Operationen des letzten Monats
sort millis desc | limit 10
Abrufen aller Abfragen mit einer COLLSCAN-Planübersicht
filter planSummary="COLLSCAN"