AWS Database Migration Service (AWS DMS) génère des fichiers d'échange qui utilisent l'espace de stockage de mon instance de base de données. Je veux savoir ce que sont les fichiers d'échange et comment réduire la génération de fichiers d'échange.
Brève description
Lorsque le processus SOURCE_CAPTURE produit plus rapidement que le composant TARGET_APPLY, le composant SORTER met en cache les événements en attente sur un disque ou un fichier d'échange. Ou, lorsque de longues transactions dépassent l'allocation de mémoire maximale (MemoryLimitTotal) et la durée (MemoryKeepTime), les transactions en mémoire ou les fichiers d'échange sont déplacés vers le disque d'instance de réplication.
Remarque : Les fichiers d'échange sont différents des fichiers d'échange du système d'exploitation que ce dernier crée lorsque le serveur ne dispose pas d’une mémoire suffisante pour les traiter. Les données ne sont donc pas incluses dans la métrique SwapUsage d’Amazon CloudWatch.
Résolution
Il se peut qu'un message similaire au suivant s'affiche dans vos journaux de tâches :
« [SORTER ]I: Reading from source is paused. Total storage used by swap files exceeded the limit 1048576000 bytes (sorter_transaction.c:110) 00000849: 2021-04-28T07:19:20:987696 [SORTER ]I: Reading from source is resumed (sorter_transaction.c:116)] » (Lecture à partir de la source interrompue. Le stockage total utilisé par les fichiers d'échange a dépassé la limite de 1048 576 000 octets (sorter_transaction.c:110) 00000849: 2021-04-28T07:19:20:987696 [SORTER ]I : La lecture à partir de la source est reprise (sorter_transaction.c:116)])
Les versions 3.4.2 et ultérieures d'AWS DMS incluent une fonctionnalité qui empêche les scénarios de stockage complets. Cette fonctionnalité définit le nombre maximal de fichiers d'échange que vous pouvez avoir sur les volumes de stockage d'une instance de réplication. Le message précédent s'affiche lorsque les fichiers d'échange utilisés par le composant SORTER atteignent la taille maximale de 1 Go.
Lorsqu'il atteint le quota, le composant SORTER interrompt SOURCE CAPTURE. AWS DMS applique ensuite les modifications des fichiers d'échange à la base de données cible. Une fois que DMS a appliqué les modifications échangées ou que le fichier d'échange est inférieur à 1 Go, AWS DMS reprend SOURCE CAPTURE.
Remarque : Lorsque AWS DMS applique les modifications, la tâche continue de s'exécuter. Le composant SORTER interrompt uniquement SOURCE CAPTURE.
Réduire la génération de fichiers d'échange
Pour réduire ou éviter la génération de fichiers d'échange sur votre instance AWS DMS, vérifiez les causes d'une latence cible élevée sur votre tâche AWS DMS.
Pour améliorer TARGET \ _APPLY, utilisez le mode d'application par lots et ParallelApplyThreads en fonction de votre type de moteur.
Si vous rencontrez des transactions de longue durée à la source, utilisez des validations fréquentes dans la base de données source.
Lorsque l'instance de réplication dispose d’une mémoire disponible, augmentez MemoryLimitTotal et MemoryKeepTime afin que les modifications restent en mémoire plus longtemps avant d'être répercutées sur le disque. Assurez-vous d'augmenter les deux paramètres afin que le composant SORTER n'atteigne pas le quota.
Informations connexes
Paramètres de réglage du traitement des modifications