Comment puis-je résoudre le problème de latence cible élevée sur une tâche AWS DMS ?

Lecture de 5 minute(s)
0

J'exécute une tâche AWS Database Migration Service (AWS DMS) de chargement complet et de capture des données de modification (CDC). La latence source n'est pas élevée, mais la latence cible est élevée ou croissante.

Brève description

Utilisez les métriques Amazon CloudWatch pour surveiller les statistiques de votre tâche de réplication. Pour identifier la latence de réplication dans la phase de réplication continue, surveillez CDCLatencySource et CDCLatencyTarget. La métrique CDCLatencySource correspond à la latence entre la source et l'instance de réplication. La métrique CDCLatencyTarget correspond à la latence entre l'instance de réplication et la cible. Pour plus d'informations, reportez-vous à Métriques des tâches de réplication.

Une valeur CDCLatencySource élevée indique que le processus de capture des modifications à partir de la source est retardé. Une valeur CDCLatencyTarget élevée indique que le processus d'application des événements de modification à la cible est retardé. Si les valeurs CDCLatencySource et CDCLatencyTarget sont élevées, résolvez d'abord le problème de la valeur CDCLatencySource, car la latence cible est toujours égale ou supérieure à la latence source. Une valeur CDCLatencyTarget élevée est généralement la conséquence du retard dans la capture des événements de modification à partir de la source. Si la valeur CDCLatencySource n'est pas élevée et que la valeur CDCLatencyTarget est élevée, la latence peut être causée par les éléments suivants :

  • Il n'existe pas de clé primaire ni d'index dans la cible.
  • Il existe des goulots d'étranglement de ressources dans la cible.
  • Il existe des goulots d'étranglement de ressources dans l'instance de réplication.
  • Il existe un problème de réseau entre l'instance de réplication et la cible.

Pour résoudre ces problèmes, reportez-vous à section Bonnes pratiques et résolution des problèmes dans la Résolution suivante.

Résolution

Pas de clé primaire ou d'index dans la cible

Par défaut, AWS DMS écrit les modifications apportées à la cible à l'aide d'instructions de langage de manipulation de données (Data Manipulation Language, DML), telles que METTRE À JOUR, INSÉRER ou SUPPRIMER. Si les index requis ne sont pas en place, les modifications, telles que les mises à jour et les suppressions, peuvent entraîner des analyses complètes de tables. Les analyses complètes de tables peuvent entraîner des problèmes de performances sur la cible et entraîner une latence de la cible. Vérifiez vos schémas de base de données de la cible, en particulier si vous avez créé le schéma de la cible manuellement. Identifiez les requêtes lentes en utilisant des mécanismes de la base de données cible, comme le journal des requêtes lentes pour MySQL, pg_stat_activity pour Amazon Relational Database Service (Amazon RDS) for PostgreSQL, ou un plan de requête. Si votre cible est Amazon Redshift, vérifiez également le style de distribution de votre table. Tous les styles de distribution peuvent entraîner une latence de la cible, car ils mettent plus de temps pour insérer ou mettre à jour les données dans les tables.

Goulots d'étranglement des ressources dans la cible

Si votre cible ne dispose pas de suffisamment de ressources, elle ne peut pas accepter les modifications à la vitesse à laquelle AWS DMS les envoie. Cela peut entraîner des goulots d'étranglement des ressources sur la cible et une latence de la cible. Cela peut également se produire si d'autres processus consomment des ressources dans la cible. Si la cible est hébergée sur AWS, vérifiez les statistiques des ressources à partir des métriques CloudWatch.

Goulots d'étranglement des ressources dans l'instance de réplication

Choisissez une instance de réplication qui dispose de suffisamment de ressources pour gérer votre migration : Processeur, mémoire, réseau ou iOPS.

Vous pouvez surveiller les ressources de votre instance de réplication à l'aide des métriques CloudWatch.

Problème de réseau entre l'instance de réplication et la cible

La bande passante du réseau peut également entraîner des problèmes de latence, en particulier lorsque votre cible est une base de données sur site ou si vous utilisez AWS DMS pour la réplication entre les régions AWS.

Bonnes pratiques et résolution des problèmes

Si votre cible est Amazon RDS, suivez les bonnes pratiques pour améliorer les performances d'une migration AWS DMS. Amazon RDS dispose d'un mécanisme de sauvegarde automatique qui démarre dans la fenêtre de sauvegarde, et Amazon RDS sauvegarde les données déplacées. Si un instantané de l'instance de la base de données RDS cible est en cours de capture, AWS DMS peut rencontrer des problèmes lorsque le service applique des modifications à la cible. Par conséquent, la latence de la cible augmente jusqu'à ce que la capture de l'instantané soit terminée. Si votre cible est Amazon Elastic Compute Cloud (Amazon EC2) ou une base de données sur site, vérifiez le mécanisme de sauvegarde de votre base de données de la cible.

Certains paramètres de tâche ralentissent l'écriture des modifications sur la cible. Si vous exécutez une réplication continue à partir d'une source où le taux de modification est élevé, utilisez BatchApplyEnabled. Pour plus d'informations, reportez-vous à la section BatchApplyEnabled de Débogage de vos migrations AWS DMS : que faire en cas de problème ? Partie 3

Pour définir BatchApplyEnabled sur True, utilisez l'interface de la ligne de commande AWS (AWS CLI) pour exécuter la commande modify-replication-task :

aws dms modify-replication-task --replication-task-arn arn:aws:dms:ap-northeast-1:123456789012:task:ABCDEFGHIJKLMNOPQRSTUVWXYZ --replication-task-settings "{\"TargetMetadata\":{\"BatchApplyEnabled\":true}}"

Remarque : si des erreurs surviennent lorsque vous exécutez des commandes de l'AWS CLI, reportez-vous à Corriger les erreurs de l'AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente de l'AWS CLI.

Informations connexes

Paramètres de réglage du traitement des modifications

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 7 mois