¿Cómo soluciono los problemas de latencia de origen alta en una tarea de AWS DMS?

5 minutos de lectura
0

Observo una latencia de origen alta en mi tarea de AWS Database Migration Service (AWS DMS). ¿Qué causa la latencia de origen durante la migración?

Descripción breve

Puede supervisar su tarea de AWS DMS mediante las métricas de Amazon CloudWatch. Durante la migración, es posible que observe una latencia de origen durante la fase de replicación continua (captura de datos de cambio [CDC]) de una tarea de AWS DMS. Puede utilizar la métrica del servicio CloudWatch de CDCLatencySource para supervisar la latencia de origen de una tarea de AWS DMS. Es posible que vea la latencia de origen en una tarea de AWS DMS si:

  • La base de datos de origen tiene recursos limitados.
  • La instancia de replicación de AWS DMS tiene recursos limitados.
  • La velocidad de la red entre la base de datos de origen y la instancia de replicación de AWS DMS es lenta.
  • AWS DMS lee los cambios nuevos de los registros de transacciones de la base de datos de origen durante la replicación continua.
  • La configuración de tareas de AWS DMS es inadecuada o se están migrando objetos grandes (LOB).
  • La base de datos de Oracle de origen utilizada para la tarea de AWS DMS utiliza LogMiner para la replicación continua.

Resolución

La base de datos de origen tiene recursos limitados. Una práctica recomendada consiste en utilizar la supervisión nativa para el motor de base de datos de origen. El uso de la supervisión nativa garantiza que la base de datos no sufra cuellos de botella de rendimiento, como la contención de memoria o la saturación de E/S.

La instancia de replicación de AWS DMS tiene recursos limitados. Supervise las métricas de la instancia de replicación, como CPUUtilization, FreeStorageSpace y FreeableMemory. Confirme que la instancia de replicación tenga recursos suficientes para administrar la tarea.

La velocidad de la red entre la base de datos de origen y la instancia de replicación de AWS DMS es lenta. Por diseño, una sola tarea de AWS DMS no puede utilizar todo el ancho de banda de la red. Si tiene una base de datos de producción ocupada que tiene muchos cambios, es posible que necesite aumentar el ancho de banda de la red. Por ejemplo, utilice conexiones de AWS Direct Connect.

AWS DMS lee los cambios nuevos de los registros de transacciones de la base de datos de origen durante la replicación continua. Según el motor de base de datos de origen, el registro de transacciones de origen también puede contener datos sin confirmar. Durante la replicación en curso, AWS DMS lee los cambios entrantes de los registros de transacciones. Sin embargo, AWS DMS solo reenvía los cambios confirmados al destino. Con el tiempo, esto puede provocar latencia de origen. Supervise las métricas de las tareas de replicación de CDC y el registro de depuración detallado del componente SOURCE_CAPTURE para confirmar que la tarea avanza.

Sin embargo, cuando la base de datos de origen escribe un conjunto de datos grande y ejecuta menos confirmaciones, AWS DMS sigue leyendo el registro de transacciones. AWS DMS no aplica cambios en el destino hasta que se haya confirmado toda la transacción. Esto también puede provocar latencia de origen. Dado que la latencia de origen aumenta, también aumenta la latencia de destino.

La configuración de tareas de AWS DMS es inadecuada o se están migrando objetos grandes (LOB). AWS DMS migra los datos de LOB para una replicación continua en dos fases. En primer lugar, AWS DMS crea una nueva fila en la tabla de destino con todas las columnas, excepto las que tienen LOB. A continuación, AWS DMS actualiza las filas que tienen LOB. Si tiene una base de datos de origen que actualiza con frecuencia las tablas que tienen columnas de LOB, es posible que vea la latencia de origen. Para obtener más información, consulte Migrar objetos binarios grandes (LOB).

Si la tarea tiene demasiadas tablas o varias tablas contienen columnas de LOB, divida la tarea en varias tareas. Si tiene conjuntos de tablas que no participan en transacciones comunes, divida la migración en varias tareas. Esto puede ayudar a aumentar el rendimiento. La coherencia transaccional se mantiene dentro de una tarea, por lo que es importante que las tablas de tareas independientes no participen en transacciones comunes. Además, cada tarea lee de forma independiente la secuencia de transacciones, así que no ponga demasiada presión en la base de datos de origen. Para obtener más información, consulte Prácticas recomendadas de AWS Database Migration Service.

La base de datos de Oracle de origen utilizada para la tarea de AWS DMS utiliza LogMiner para la replicación continua. Si la base de datos de origen genera una gran cantidad de registros de rehacer, utilice el método de Binary Reader para una replicación continua. También puede utilizar este método si la base de datos de origen utiliza Oracle Automatic Storage Management (ASM). Para obtener más información, consulte Usar Oracle LogMiner o AWS DMS Binary Reader para la CDC.


Información relacionada

Mejorar el rendimiento de una migración de AWS DMS

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 2 años