Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Profilage des opérations Amazon DocumentDB
Vous pouvez utiliser le profileur d'Amazon DocumentDB (avec compatibilité avec MongoDB) pour enregistrer le temps d'exécution et les détails des opérations effectuées sur votre cluster. Le profileur est utile pour surveiller les opérations les plus lentes sur votre cluster afin de vous aider à améliorer les performances des requêtes individuelles et les performances globales du cluster.
Par défaut, la fonction de profileur est désactivée. Lorsqu'il est activé, le profileur enregistre les opérations qui prennent plus de temps qu'une valeur seuil définie par le client (par exemple, 100 ms) dans Amazon Logs. CloudWatch Les détails consignés incluent la commande profilée, l'heure, le récapitulatif du plan et les métadonnées du client. Une fois les opérations enregistrées dans CloudWatch Logs, vous pouvez utiliser CloudWatch Logs Insights pour analyser, surveiller et archiver vos données de profilage Amazon DocumentDB. Les requêtes courantes sont fournies dans la section Requêtes courantes.
Lorsque cette option est activée, le profileur utilise des ressources supplémentaires de votre cluster. Commencez par une valeur seuil élevée (par exemple, 500 ms) et abaissez-la progressivement pour identifier les opérations lentes. Démarrer avec une valeur de seuil de 50 ms peut entraîner des problèmes de performances sur votre cluster pour les applications à haut débit. Le profileur est activé au niveau du cluster et fonctionne sur toutes les instances et bases de données d'un cluster. Amazon DocumentDB enregistre les opérations dans Amazon CloudWatch Logs dans la mesure du possible.
Bien qu'Amazon DocumentDB n'impose aucun frais supplémentaire pour activer le profileur, vous devez payer les tarifs standard pour l'utilisation des CloudWatch journaux. Pour plus d'informations sur la tarification de CloudWatch Logs, consultez la page CloudWatch Tarification Amazon.
Opérations prises en charge
Le profileur Amazon DocumentDB prend en charge les opérations suivantes :
Limitations
Le profileur de requêtes lent ne peut émettre des journaux de profilage que si l'ensemble des résultats de la requête peut tenir dans un seul lot et si le jeu de résultats est inférieur à 16 Mo (taille BSON maximale). Les ensembles de résultats supérieurs à 16 Mo sont automatiquement divisés en plusieurs lots.
La plupart des pilotes ou des shells peuvent définir une petite taille de lot par défaut. Vous pouvez spécifier la taille du lot dans le cadre de votre requête. Pour capturer des journaux de requêtes lents, utilisez une taille de lot supérieure à la taille de votre jeu de résultats attendu. Si vous n'êtes pas sûr de la taille du jeu de résultats, ou si elle varie, définissez la taille du lot sur un grand nombre (par exemple, 100 000).
Cependant, l'utilisation d'une taille de lot plus importante signifie que davantage de résultats devront être extraits de la base de données avant qu'une réponse ne soit envoyée au client. Pour certaines requêtes, cela peut entraîner des délais plus longs avant d'obtenir des résultats. Si vous ne prévoyez pas de consommer l'ensemble des résultats, il est possible que vous dépensiez davantage I/Os pour traiter la requête et rejeter le résultat.
Activation du profileur Amazon DocumentDB
L'activation du profileur sur un cluster est un processus en trois étapes. Assurez-vous que toutes les étapes sont terminées, sinon les journaux de profilage ne seront pas envoyés à CloudWatch Logs. Le profileur est défini au niveau du cluster et est effectué sur l'ensemble des bases de données et des instances du cluster.
Pour activer le profileur sur un cluster
-
Etant donné que vous ne pouvez pas modifier un groupe de paramètres de cluster par défaut, veillez à disposer d'un groupe de paramètres de cluster personnalisé disponible. Pour de plus amples informations, veuillez consulter Création de groupes de paramètres de cluster Amazon DocumentDB.
-
À l'aide d'un groupe de paramètres de cluster personnalisé disponible, modifiez les paramètres suivants : profiler, profiler_threshold_ms et profiler_sampling_rate. Pour de plus amples informations, veuillez consulter Modification des groupes de paramètres de cluster Amazon DocumentDB.
-
Créez ou modifiez votre cluster pour utiliser le groupe de paramètres de cluster personnalisé et pour permettre l'exportation de profiler CloudWatch journaux vers Logs.
Les sections suivantes montrent comment implémenter ces étapes à l'aide du Console de gestion AWS et du AWS Command Line Interface (AWS CLI).
- Using the Console de gestion AWS
-
-
Avant de commencer, créez un cluster Amazon DocumentDB et un groupe de paramètres de cluster personnalisé si vous n'en avez pas déjà un. Pour plus d’informations, consultez Création de groupes de paramètres de cluster Amazon DocumentDB et Création d'un cluster Amazon DocumentDB.
-
À l'aide d'un groupe de paramètres de cluster personnalisé disponible, modifiez les paramètres suivants. Pour de plus amples informations, veuillez consulter Modification des groupes de paramètres de cluster Amazon DocumentDB.
-
profiler— Active ou désactive le profilage des requêtes. Les valeurs autorisées sont enabled
et disabled. La valeur par défaut est disabled. Pour activer le profilage, définissez la valeur sur enabled.
-
profiler_threshold_ms— Lorsque cette profiler option est définie surenabled, toutes les commandes qui
profiler_threshold_ms prennent plus de temps que la connexion CloudWatch. Les valeurs autorisées sont [50-INT_MAX]. La valeur par défaut est 100.
-
profiler_sampling_rate— La fraction des opérations lentes qui doit être profilée ou enregistrée. Les valeurs autorisées sont [0.0-1.0]. La valeur par défaut est 1.0.
-
Modifiez votre cluster pour utiliser le groupe de paramètres de cluster personnalisé et définissez les exportations des journaux du profileur à publier sur Amazon CloudWatch.
-
Dans le panneau de navigation, choisissez Clusters pour ajouter votre groupe de paramètres personnalisé à un cluster.
-
Cliquez sur le bouton situé à gauche du nom du cluster auquel vous souhaitez associer votre groupe de paramètres. Sélectionnez Actions, puis Modify (Modifier) pour modifier votre cluster.
-
Sous Cluster options (Options de cluster), choisissez le groupe de paramètres personnalisé à partir de l'étape ci-dessus pour l'ajouter à votre cluster.
-
Sous Exportations de journaux, sélectionnez les journaux Profiler à publier sur Amazon CloudWatch.
-
Sélectionnez Continuer pour afficher un résumé de vos modifications.
-
Après vérification de vos modifications, vous pouvez les appliquer immédiatement ou au cours de la fenêtre de maintenance suivante sous Scheduling of modifications (Planification des modifications).
-
Choisissez Modify cluster (Modifier le cluster) pour mettre à jour votre cluster avec votre nouveau groupe de paramètres.
- Using the AWS CLI
-
La procédure suivante active le profileur sur toutes les opérations prises en charge pour le cluster sample-cluster.
-
Avant de commencer, vérifiez qu'un groupe de paramètres de cluster personnalisé est disponible en exécutant la commande suivante et en examinant la sortie d'un groupe de paramètres de cluster qui ne contient pas la valeur default dans son nom et qui comprend docdb3.6 comme famille de groupes de paramètres. Si vous ne disposez pas d'un groupe de paramètres de cluster autre que par défaut, veuillez consulter Création de groupes de paramètres de cluster Amazon DocumentDB.
aws docdb describe-db-cluster-parameter-groups \
--query 'DBClusterParameterGroups[*].[DBClusterParameterGroupName,DBParameterGroupFamily]'
Dans la sortie suivante, seul sample-parameter-group
répond à ces deux critères.
[
[
"default.docdb3.6",
"docdb3.6"
],
[
"sample-parameter-group",
"docdb3.6"
]
]
-
À l'aide de votre groupe de paramètres de cluster personnalisé, modifiez les paramètres suivants :
-
profiler— Active ou désactive le profilage des requêtes. Les valeurs autorisées sont enabled
et disabled. La valeur par défaut est disabled. Pour activer le profilage, définissez la valeur sur enabled.
-
profiler_threshold_ms— Lorsque cette profiler option est définie surenabled, toutes les commandes profiler_threshold_ms prennent plus de temps que la connexion CloudWatch. Les valeurs autorisées sont [50-INT_MAX]. La valeur par défaut est 100.
-
profiler_sampling_rate— La fraction des opérations lentes qui doit être profilée ou enregistrée. Les valeurs autorisées sont [0.0-1.0]. La valeur par défaut est 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
-
Modifiez votre cluster Amazon DocumentDB afin qu'il utilise le groupe de paramètres de cluster sample-parameter-group personnalisé de l'étape précédente et définisse le paramètre --enable-cloudwatch-logs-exports sur. profiler
Le code suivant modifie le cluster sample-cluster pour utiliser celui sample-parameter-group de l'étape précédente et ajoute profiler aux exportations de CloudWatch journaux activées.
aws docdb modify-db-cluster \
--db-cluster-identifier sample-cluster \
--db-cluster-parameter-group-name sample-parameter-group \
--cloudwatch-logs-export-configuration '{"EnableLogTypes":["profiler"]}'
Le résultat de cette opération ressemble à ceci.
{
"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
}
}
Désactivation du profileur Amazon DocumentDB
Pour désactiver le profileur, vous désactivez à la fois le profiler paramètre et l'exportation des profiler CloudWatch journaux vers Logs.
Désactivation du profileur
Vous pouvez désactiver le profiler paramètre à l'aide du Console de gestion AWS ou AWS CLI, comme suit.
- Using the Console de gestion AWS
-
La procédure suivante utilise Console de gestion AWS pour désactiver Amazon DocumentDB. profiler
-
Connectez-vous au et ouvrez Console de gestion AWS la console Amazon DocumentDB à https://console.aws.amazon.com/docdb l'adresse.
-
Dans le panneau de navigation, choisissez Groupes de paramètres. Choisissez ensuite le nom du groupe de paramètres de cluster sur lequel vous souhaitez désactiver le profileur.
-
Sur la page Cluster parameters (Paramètres de cluster) qui s'affiche, sélectionnez le bouton situé à gauche du paramètre profiler et choisissez Modifier.
-
Dans la boîte de dialogue Modify profiler (Modifier le profileur), choisissez disabled dans la liste.
-
Choisissez Modifier le paramètre de cluster.
- Using the AWS CLI
-
Pour désactiver profiler sur un cluster à l'aide de l' AWS CLI, modifiez le cluster comme illustré ci-dessous.
aws docdb modify-db-cluster-parameter-group \
--db-cluster-parameter-group-name sample-parameter-group \
--parameters ParameterName=profiler,ParameterValue=disabled,ApplyMethod=immediate
Désactivation de l'exportation des journaux du profileur
Vous pouvez désactiver l'exportation de profiler CloudWatch journaux vers des journaux en utilisant le Console de gestion AWS ou AWS CLI, comme suit.
- Using the Console de gestion AWS
-
La procédure suivante permet de désactiver l' Console de gestion AWS exportation des journaux vers CloudWatch Amazon DocumentDB.
-
Ouvrez la console Amazon DocumentDB à https://console.aws.amazon.com/docdb l'adresse.
-
Dans le panneau de navigation, choisissez Clusters. Choisissez le bouton à gauche du nom du cluster pour lequel vous souhaitez désactiver l'exportation des journaux.
-
Dans le menu Actions, choisissez Modify (Modifier).
-
Faites défiler la page jusqu'à la section Log exports (Exportations de journaux), puis choisissez Profiler logs (Journaux du profileur).
-
Sélectionnez Continuer.
-
Vérifiez vos modifications, puis choisissez quand cette modification devra être appliquée à votre cluster :
-
Choisissez Modifier le cluster.
- Using the AWS CLI
-
Le code suivant modifie le cluster sample-cluster
et désactive les journaux du CloudWatch profileur.
Exemple
Pour Linux, macOS ou Unix :
aws docdb modify-db-cluster \
--db-cluster-identifier sample-cluster \
--cloudwatch-logs-export-configuration '{"DisableLogTypes":["profiler"]}'
Pour Windows :
aws docdb modify-db-cluster ^
--db-cluster-identifier sample-cluster ^
--cloudwatch-logs-export-configuration '{"DisableLogTypes":["profiler"]}'
Le résultat de cette opération ressemble à ceci.
{
"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
}
}
Accès aux journaux de votre profileur Amazon DocumentDB
Suivez ces étapes pour accéder aux journaux de votre profil sur Amazon CloudWatch.
Ouvrez la CloudWatch console à l'adresse https://console.aws.amazon.com/cloudwatch/.
-
Assurez-vous que vous vous trouvez dans la même région que votre cluster Amazon DocumentDB.
-
Dans le panneau de navigation, sélectionnez Logs (Journaux).
-
Pour rechercher les journaux de profileur de votre cluster, dans la liste, choisissez /aws/docdb/yourClusterName/profiler.
Les événements d'audit pour chacune de vos instances sont disponibles sous chacun des noms d'instance respectifs.
Requêtes courantes
Voici quelques requêtes courantes que vous pouvez utiliser pour analyser vos commandes profilées. Pour plus d'informations sur CloudWatch Logs Insights, consultez la section Analyse des données des CloudWatch journaux avec Logs Insights et des exemples de requêtes.
Obtenez les 10 opérations les plus lentes sur une collection spécifiée
filter ns="test.foo" | sort millis desc | limit 10
Obtenez toutes les opérations de mise à jour sur une collection qui a pris plus de 60 ms.
filter millis > 60 and op = "update"
Découvrez les 10 opérations les plus lentes du mois dernier
sort millis desc | limit 10
Obtenir toutes les requêtes avec un récapitulatif du plan COLLSCAN
filter planSummary="COLLSCAN"