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

Lecture de 5 minute(s)
0

J'observe une latence source élevée lors de ma tâche AWS Database Migration Service (AWS DMS). Quelles sont les causes de la latence des sources lors de la migration?

Brève description

Vous pouvez surveiller votre tâche AWS DMS à l'aide des métriques Amazon CloudWatch. Lors d'une migration, vous pouvez voir une latence source pendant la phase de réplication continue – capture des données modifiées (CDC) – d'une tâche AWS DMS. Vous pouvez surveiller la latence source d'une tâche AWS DMS avec la métrique de service CloudWatch pour CDCLatencySource . Vous pouvez constater une latence de la source sur une tâche AWS DMS si :

  • Les ressources de la base de données source sont limitées.
  • Les ressources de l'instance de réplication AWS DMS sont limitées.
  • La vitesse réseau entre la base de données source et l'instance de réplication AWS DMS est lente.
  • AWS DMS lit les nouvelles modifications à partir des journaux de transactions de la base de données source pendant la réplication continue.
  • Les paramètres de tâche AWS DMS sont incorrects ou la migration d'objets volumineux (LOB) est en cours.
  • La base de données source Oracle utilisée pour la tâche AWS DMS utilise LogMiner pour la réplication continue.

Solution

Les ressources de la base de données source sont limitées. Il est recommandé d'utiliser la surveillance native pour votre moteur de base de données source. L'utilisation de la surveillance native permet de s'assurer que votre base de données ne rencontre pas de problèmes de performance tels que des conflits de mémoire ou une saturation des E/S.

Les ressources de l'instance de réplication AWS DMS sont limitées. Surveillez les métriques de l'instance de réplication telles queCPUUtilizationFreeStorageSpace et FreeableMemory. Vérifiez que l'instance de réplication dispose de suffisamment de ressources pour gérer votre tâche.

La vitesse réseau entre la base de données source et l'instance de réplication AWS DMS est lente. De part sa conception, une seule tâche AWS DMS ne peut pas utiliser la totalité de la bande passante réseau. Si vous avez une base de données de production importante avec de nombreuses modifications, vous devrez peut-être augmenter la bande passante réseau. Par exemple, utilisez des connexions AWS Direct Connect.

AWS DMS lit les nouvelles modifications à partir des journaux de transactions de la base de données source pendant la réplication continue. En fonction de votre moteur de base de données source, le journal des transactions sources peut également contenir des données non validées. Au cours de la réplication en cours, AWS DMS lit les modifications entrantes à partir des journaux de transactions. Mais AWS DMS transmet uniquement les modifications validées à la cible. Finalement, une latence source peut en résulter. Surveillez les mesures de la tâche de réplication pour CDC et la journalisation détaillée du débogage pour le composant SOURCE_CAPTURE afin de vérifier que la tâche progresse.

Toutefois, lorsque la base de données source écrit un ensemble de données volumineux et exécute moins de validations, AWS DMS poursuit la lecture à partir du journal des transactions. AWS DMS n'applique pas de modifications à la cible tant que l'intégralité de la transaction n'est pas validée. Cela peut également provoquer une latence de la source. L'augmentation de la latence source s'accompagne toujours de l'augmentation de la latence cible.

Les paramètres de tâche AWS DMS sont incorrects ou la migration d'objets volumineux (LOB) est en cours. AWS DMS migre les données LOB pour une réplication continue en deux phases. Dans un premier temps, AWS DMS crée une nouvelle ligne dans la table cible avec toutes les colonnes, sauf celles qui ont des LOB. Ensuite, AWS DMS met à jour les lignes comportant des LOB. Si vous disposez d'une base de données source qui met fréquemment à jour les tables comportant des colonnes LOB, vous pouvez constater une latence source. Pour plus d'informations, consultez Migration des objets binaires volumineux (LOB).

Si la tâche comporte trop de tables ou si plusieurs tables contiennent des colonnes LOB, divisez votre tâche en plusieurs tâches. Si vous avez des ensembles de tables qui ne participent pas à des transactions courantes, divisez votre migration en plusieurs tâches. Cela peut contribuer à améliorer les performances. La cohérence transactionnelle est maintenue au sein d\’une tâche, il est donc important que les tables de tâches distinctes ne participent pas à des transactions communes. De plus, chaque tâche lit indépendamment le flux de transactions, donc ne mettez pas trop de pression sur la base de données source. Pour plus d'informations, consultez les bonnes pratiques relatives à AWS Database Migration Service.

La base de données source Oracle utilisée pour la tâche AWS DMS utilise LogMiner pour la réplication continue. Si votre base de données source génère un grand nombre de fichiers de journalisation, utilisez la méthode du lecteur binaire pour une réplication continue. Vous pouvez également utiliser cette méthode si la base de données source utilise Oracle Automatic Storage Management (ASM). Pour plus d'informations, consultez Utilisation d'Oracle LogMiner ou d'AWS DMS Binary Reader pour CDC.


Informations connexes

Amélioration des performances d'une migration AWS DMS

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un an