Todos los productos
Search
Centro de documentos

ApsaraDB RDS:Alto número de hilos activos en ApsaraDB RDS for MySQL

Última actualización: Oct 14, 2026

Este tema describe las causas de un alto recuento de hilos activos en una instancia de ApsaraDB RDS for MySQL y proporciona soluciones.

Contexto

El número de hilos activos (también conocidos como conexiones activas) es una métrica clave para medir la carga de trabajo de una instancia de MySQL. En una instancia con buen funcionamiento, este valor suele ser inferior a 10. Para instancias de altas especificaciones y QPS elevado, puede alcanzar 20 o 30. Si el recuento llega a varios cientos o incluso miles, indica que las consultas SQL se están acumulando y los tiempos de respuesta aumentan. En casos graves, la instancia deja de responder y ya no procesa solicitudes SQL.

Comprobación de hilos activos

La consola de ApsaraDB RDS ofrece varios métodos para consultar el número de hilos activos:

  • Monitoring and Alerts

    En la página Monitoring and Alerts de la consola, haga clic en la pestaña Standard Monitoring y luego en Standard View para consultar las métricas de hilos activos de la instancia.

  • Database Autonomy Service (DAS)

    En la página Autonomy Services > Dashboard de la consola, haga clic en la pestaña Dashboard para consultar el estado de conexión de las sesiones. Un número excesivo de hilos indica que las sesiones de la instancia están bloqueadas.

Acumulación de SQL lento

  • Síntoma

    Si el monitoreo muestra un aumento en los hilos activos, ejecute primero el comando show processlist; para comprobar si existen consultas SQL lentas. Una gran cantidad de consultas que analizan demasiadas filas suele provocar el incremento de hilos activos.

    Consulte la información sobre SQL lento en la página Autonomy Services > Slow SQL de la consola.

  • Solución

    Use la función SQL throttling o finalice las sesiones para reducir el impacto de las consultas SQL lentas.

Problemas con la caché de tablas

  • Síntoma

    Si la caché de tablas es insuficiente, muchas instrucciones SQL permanecen en el estado Opening table. Esto ocurre comúnmente cuando el QPS es alto o cuando existe una gran cantidad de tablas.

  • Solución

    Aumente el valor del parámetro table_open_cache (no requiere reiniciar la instancia) y del parámetro table_open_cache_instances (requiere reiniciar la instancia).

Problemas con bloqueos de metadatos (MDL)

  • Síntoma

    Cuando ocurre un bloqueo de metadatos (MDL), muchas consultas SQL entran en el estado Waiting for table metadata lock. Durante las fases prepare y commit, una instrucción DDL debe adquirir un MDL. Si la tabla tiene transacciones sin confirmar o consultas SQL lentas, la operación DDL se bloquea. Esto, a su vez, bloquea otras consultas SQL y finalmente aumenta el número de hilos activos.

  • Solución

    Para resolver este problema, finalice las transacciones sin confirmar, las consultas SQL lentas o la instrucción DDL en ejecución.

Conflictos de bloqueos de fila

  • Síntoma

    Los conflictos de bloqueos de fila se manifiestan con un aumento en las métricas innodb_row_lock_waits e innodb_row_lock_time.

    En la página Autonomy Services > Dashboard de la consola, haga clic en la pestaña Dashboard para consultar los elementos de monitoreo en row lock.

  • Solución

    Ejecute el comando show engine innodb status; para comprobar si un gran número de sesiones se encuentra en el estado Lock wait. De ser así, la contención de bloqueos de fila es grave. Para reducirla, optimice las actualizaciones de puntos críticos, disminuya el tamaño de las transacciones y confirme las transacciones de inmediato.