Solución de problemas de punto de conexión de MySQL
Esta sección contiene escenarios de replicación específicos de MySQL. AWS DMS escanea el registro binario de MySQL periódicamente para replicar los cambios. Este proceso puede aumentar la latencia en los siguientes escenarios:
Temas
Transacciones de larga duración en el origen
Dado que MySQL solo escribe las transacciones confirmadas en el registro binario, las transacciones de larga duración provocan picos de latencia proporcionales al tiempo de ejecución de la consulta.
Para identificar las transacciones de larga duración, use la siguiente consulta o use el registro de consultas lentas:
SHOW FULL PROCESSLIST;
Para obtener información sobre el uso del registro de consultas lentas, consulte El registro de consultas lentas
Para evitar los picos de latencia derivados de las transacciones de larga duración, reestructure las transacciones de origen para reducir el tiempo de ejecución de las consultas o aumentar la frecuencia de las confirmaciones.
Carga de trabajo alta en el origen
Como DMS CDC es de un solo subproceso, una gran cantidad de transacciones puede aumentar la latencia de origen. Para identificar si la latencia de origen se debe a una gran carga de trabajo, compare la cantidad y el tamaño de los registros binarios generados durante el periodo de latencia con los registros generados antes de la latencia. Para comprobar los registros binarios y el estado de los subprocesos de DMS CDC, utilice las siguientes consultas:
SHOW BINARY LOGS; SHOW PROCESSLIST;
Para obtener más información sobre los estados de los subprocesos de volcado de registros binarios de CDC, consulte Estados de los subprocesos de origen de la replicación
Puede determinar la latencia comparando la última posición del registro binario generada en el origen con el evento que DMS está procesando actualmente. Para identificar el registro binario más reciente del origen, haga lo siguiente:
Habilite los registros de depuración en el componente SOURCE_CAPTURE.
Recupere el registro binario de procesamiento del DMS y los detalles de posición de los registros de depuración de tareas.
Utilice la siguiente consulta para identificar el registro binario más reciente en el origen:
SHOW MASTER STATUS;
Para optimizar aún más el rendimiento, ajuste EventsPollInterval
. De forma predeterminada, DMS sondea el registro binario cada 5 segundos, pero puede mejorar el rendimiento reduciendo este valor. Para obtener más información acerca de la opción EventsPollInterval
, consulte Configuración de punto de conexión cuando se utiliza MySQL como origen para AWS DMS.
Contención de registros binarios
Al migrar varias tablas con una gran cantidad de datos, recomendamos dividir las tablas en tareas independientes para MySQL 5.7.2 o versiones más recientes. En las versiones 5.7.2 y más recientes de MySQL, el subproceso de volcado principal crea menos bloqueos y mejora el rendimiento. Como resultado, el subproceso de volcado ya no bloquea el registro binario cada vez que lee un evento. Esto significa que varios subprocesos de volcado pueden leer el archivo de registro binario simultáneamente. Esto también significa que los subprocesos de volcado pueden leer el registro binario mientras los clientes escriben en él. Para obtener más información sobre los subprocesos de volcado, consulte los subprocesos de replicación
Para mejorar el rendimiento de la replicación de las versiones de origen de MySQL anteriores a la 5.7.2, intente consolidar las tareas con los componentes de CDC.