Cosa sono i file SWAP e perché occupano spazio sulla mia istanza di AWS DMS?

Ultimo aggiornamento: 28-07-2022

Lo spazio di archiviazione della mia istanza DB di AWS Database Migration Service (AWS DMS) viene utilizzato dai file di swap che sono stati generati sulla mia istanza. Cosa sono i file SWAP e come posso ridurre la generazione di file di swap?

Breve descrizione

In AWS DMS, il componente SORTER memorizza nella cache le modifiche in corso provenienti dall'origine. Il componente esegue questa operazione per gestire azioni quali l'unione delle transazioni, il filtraggio e le trasformazioni dei dati prima di applicarli alla destinazione.

Se l'elaborazione di origine ha prestazioni eccessive, la destinazione non è in grado di gestire le modifiche in arrivo. Oppure, se le transazioni lunghe superano l'allocazione massima di memoria (MemoryLimitTotal) e il tempo (MemoryKeepTime), le transazioni in memoria vengono trasferite sul disco dell'istanza di replica, noto come file di swap o di ordinamento.

I file di swap come questo sono diversi dai file di swap del sistema operativo creati quando la memoria del server non è sufficiente per l'elaborazione. Pertanto, questi dati non sono inclusi nella metrica SwapUsage in Amazon CloudWatch.

Risoluzione

È possibile che venga visualizzato un messaggio simile a questo nei registri delle attività:

«[SORTER]I: La lettura dalla fonte è in pausa. La memoria totale utilizzata dai file di swap ha superato il limite 1048576000 byte (sorter_transaction.c:110) 00000849:2021-04-28T 07:19:20:987696 [SORTER]I: La lettura dalla fonte è stata ripresa (sorter_transaction.c:116)]»

Si tratta di un messaggio informativo e non di un errore. Viene visualizzato questo messaggio quando i file di swap utilizzati dal componente AWS DMS SORTER raggiungono un limite di dimensione di 1 GB (limite di codifica fissa). Le versioni 3.4.2 e successive di AWS DMS includono una funzionalità che impedisce scenari di storage completi limitando la quantità massima di file di swap che puoi avere sui volumi di storage di un'istanza di replica. Quindi, viene visualizzato questo messaggio quando i file di swap utilizzati dal componente DMS SORTER raggiungono il limite di 1 GB.

Quando viene raggiunto questo limite di 1 GB, il componente SORTER mette in pausa SOURCE CAPTURE. AWS DMS applica quindi le modifiche dai file di swap al database di destinazione. Dopo l'applicazione delle modifiche scambiate dal disco o quando il file di swap scende al di sotto di 1 GB, AWS DMS riprende l'acquisizione del codice sorgente.

Nota: in questo caso, l'attività continua ad essere eseguita. Solo SOURCE CAPTURE è in pausa.

Ridurre la generazione di file di scambio

Usa queste best practice per ridurre o evitare la generazione di file di swap sulla tua istanza AWS DMS:

  • Verifica le cause più comuni della latenza di destinazione elevata nell'attività AWS DMS:
    • Non ci sono chiavi o indici primari nella destinazione
    • Ci sono intoppi nelle risorse nell'obiettivo
    • Ci sono intoppi nelle risorse nell'istanza di replica
    • Si è verificato un problema di rete tra l'istanza di replica e la destinazione
  • Usa la modalità di applicazione batch e ParallelApplyThreads per migliorare l'applicazione di destinazione, in base al tipo di motore.
  • Se si verificano transazioni di lunga durata all'origine, utilizzare commit frequenti nel database di origine per ridurre il problema.
  • Se la memoria è disponibile nell'istanza di replica, puoi aumentare MemoryLimitTotal e MemoryKeepTime in modo che le modifiche rimangano in memoria più a lungo prima di essere scambiate sul disco. Assicurati di aumentare entrambi questi parametri, perché dopo aver raggiunto un limite, AWS DMS scambia le modifiche sul disco.

Questo articolo è stato utile?


Hai bisogno di supporto tecnico o per la fatturazione?