Supervisa las consultas activas

En esta página, se describe cómo supervisar y solucionar problemas de las consultas que están activas en tu base de datos. La supervisión de estas consultas puede ayudar a identificar las causas de la latencia del sistema y el uso alto de CPU.

En el panel de estadísticas de consultas, puedes ver un resumen de las transacciones activas y una lista de transacciones con consultas y estadísticas asociadas. Las transacciones se muestran según la hora de inicio de la transacción. Si hay una gran cantidad de consultas en ejecución, los resultados pueden estar limitados a un subconjunto del total de consultas.

Antes de comenzar

Para supervisar las consultas activas, puedes usar la edición Cloud SQL Enterprise o la de Cloud SQL Enterprise Plus.

Para finalizar una sesión o una transacción de larga duración en consultas activas, debes usar la edición Cloud SQL Enterprise Plus para tu instancia de Cloud SQL para MySQL.

Para obtener más información sobre las ediciones de Cloud SQL, consulta Introducción a las ediciones de Cloud SQL.

Roles y permisos requeridos

Para obtener los permisos que necesitas para ver las consultas activas, pídele a tu administrador que te otorgue los siguientes roles de IAM en el proyecto que aloja la instancia de Cloud SQL:

  • Consulta el resumen de la actividad de la instancia: Visualizador de Cloud SQL (roles/cloudsql.viewer)
  • Consulta el resumen de la actividad de la base de datos y las transacciones de larga duración: Visualizador de Database Insights (roles/databaseinsights.viewer).
  • Finaliza una sesión o una transacción de larga duración:
    • Editor de Cloud SQL (roles/cloudsql.viewer)
    • Administrador de operaciones de Database Insights (databaseinsights.operationsAdmin)

Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

Estos roles predefinidos contienen los permisos necesarios para ver las consultas activas. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:

Permisos necesarios

Se requieren los siguientes permisos para ver las consultas activas:

  • Consulta el resumen de la actividad de la base de datos y las transacciones de larga duración:
    • databaseinsights.activeQueries.fetch
    • databaseinsights.activitySummary.fetch

También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.

Habilita las consultas activas

Cuando habilitas las estadísticas de consultas, habilitas las consultas activas automáticamente. Para poder finalizar una sesión o una transacción de larga duración en consultas activas, debes usar las estadísticas de consultas de la edición de Cloud SQL Enterprise Plus.

Inhabilita las consultas activas

No puedes inhabilitar las consultas activas sin inhabilitar las estadísticas de consultas. Para inhabilitar las consultas activas y las estadísticas de consultas, consulta Inhabilita las Estadísticas de consultas.

Visualizar las consultas activas

Para ver tus consultas activas, completa los siguientes pasos:

  1. En la consola de Google Cloud, ve a la página Instancias de Cloud SQL.

    Ir a Instancias de Cloud SQL

  2. Para abrir la página de Descripción general de una instancia, haz clic en su nombre.

  3. Realiza una de las siguientes acciones para mostrar el panel Estadísticas de consultas:

    • Selecciona la pestaña Estadísticas de consultas.
    • Haz clic en Ir a Estadísticas de consultas para obtener información más detallada sobre las búsquedas y el rendimiento. Se abrirá el panel de Estadísticas de consultas. Muestra los detalles sobre la instancia en la parte superior.
  4. Haz clic en la pestaña Consultas activas.

    Desde aquí, puedes modificar la información de la consulta que aparece en la tabla Transacciones más largas:

    • Bases de datos: Filtra la carga de consultas en una base de datos específica o en todas las bases de datos.
    • Usuario: Filtra la carga de consultas de una cuenta de usuario específica.
    • Cuadro de evaluación de resumen de todas las consultas activas: proporciona una descripción general de todas las consultas activas con el total de conexiones según los parámetros que se indican a continuación.

      1. Distribución de las conexiones activas clasificadas por estado de conexión
      2. Distribución de las transacciones activas según el estado de la transacción
      3. Distribución de las duraciones de las consultas
    • Transacciones más largas en ejecución: Proporciona una descripción general de las 50 consultas en ejecución principales (en el estado activo) según el tiempo de ejecución descendente. Puedes filtrar y ordenar las consultas activas en la tabla.

Visualiza consultas activas normalizadas

Puedes ver una lista de las principales transacciones de larga duración con consultas activas normalizadas en el panel Estadísticas de consultas. Una consulta activa normalizada quita los datos sensibles y muestra un resumen. El resumen es el mismo para los diferentes valores que se usan en el siguiente ejemplo:

  • Consultas regulares

    • select * from test_table where id=1;
    • select * from test_table_where id=2;
  • Resumen o consulta normalizada

    • select * from test_table where id=?;

Una consulta que se ejecuta en diferentes sesiones se muestra como entradas diferentes en el panel.

Visualiza las transacciones más largas en ejecución

La tabla Transacciones más largas en el panel Estadísticas de consultas contiene las siguientes columnas:

Nombre de la columna Descripción
ID de proceso Identificador único de la conexión.
Consulta Texto de consulta de SQL.
Estado de la transacción Estado actual de ejecución de la transacción. Los valores permitidos son RUNNING, LOCK WAIT, ROLLING BACK y COMMITTING.
Estado de subprocesos El estado de subproceso (o estado de consulta) indica el estado actual del subproceso activo.
Hora de inicio de la transacción Es la marca de tiempo en la que la transacción comenzó su ejecución.
Duración de la transacción Duración de la transacción activa actual en segundos.
Duración de espera de la transacción La duración de la espera en segundos en la transacción activa actual.
Duración del estado del subproceso Tiempo transcurrido en la consulta.
Filas de la transacción bloqueadas Cantidad de filas bloqueadas por la transacción activa actual.
Filas de la transacción modificadas Cantidad de filas modificadas por la transacción activa actual.
Base de datos Nombre de la base de datos en la que se ejecuta esta conexión.
Nombre de usuario Nombre del usuario conectado a la base de datos.
Dirección del cliente Es la dirección IP del cliente desde la que un usuario se conecta a la base de datos.
Acción Contiene un vínculo para finalizar una transacción.

La pantalla se actualiza automáticamente cada 60 segundos.

Finaliza una conexión

Para finalizar una conexión o una transacción de larga duración en consultas activas, debes usar la edición de Cloud SQL Enterprise Plus y habilitar las estadísticas de consultas para la edición de Cloud SQL Enterprise Plus.

Las operaciones de larga duración pueden tardar más tiempo en finalizar.

Para finalizar una consulta o transacción, completa los siguientes pasos:

  1. En la tabla Transacción de ejecución más larga, selecciona una consulta.
  2. En la columna Acción, haz clic en Finalizar conexión.
  3. En la ventana Finalizar conexión, haz clic en Confirmar.

Una solicitud a la base de datos se muestra de inmediato mientras que la finalización se produce en segundo plano.

La página se actualiza después de iniciar la rescisión. Si la cancelación falla, no se muestra un mensaje de error ni una notificación. La consulta seguirá apareciendo en la lista de consultas activas. Si la cancelación se realiza correctamente, la consulta ya no se mostrará en la lista. Si la finalización requiere una reversión, la columna Estado de txn muestra el estado REVERTIR, lo que significa que la finalización aún está en curso.

¿Qué sigue?