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 Cloud SQL Enterprise Plus.

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

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:

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:

  • Ver 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

Para habilitar las consultas activas en una instancia de la edición de Cloud SQL Enterprise, haz lo siguiente:

  1. En la Google Cloud consola, 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. En el campo Configuración, haz clic en Editar configuración.
  4. En la sección Personaliza tu instancia, expande Estadísticas de consultas.
  5. Asegúrate de que la opción Habilitar Estadísticas de consultas esté habilitada.
  6. Selecciona Análisis de consultas activas.
  7. Haz clic en Guardar.

Para habilitar las consultas activas en una instancia de la edición Cloud SQL Enterprise Plus, haz lo siguiente:

  1. En la Google Cloud consola, 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. En el campo Configuración, haz clic en Editar configuración.
  4. En la sección Personaliza tu instancia, expande Estadísticas de consultas.
  5. Asegúrate de que la opción Habilitar Estadísticas de consultas esté habilitada.
  6. Selecciona Habilitar funciones de Enterprise Plus.
  7. Selecciona Análisis de consultas activas.
  8. Haz clic en Guardar.

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

Inhabilita las consultas activas

Para inhabilitar las consultas activas en una instancia de la edición Cloud SQL Enterprise o Cloud SQL Enterprise Plus, haz lo siguiente:

  1. En la Google Cloud consola, 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. En el campo Configuración, haz clic en Editar configuración.
  4. En la sección Personaliza tu instancia, expande Estadísticas de consultas.
  5. Desmarca la casilla de verificación Análisis de consultas activas.
  6. Haz clic en Guardar.

Visualizar las consultas activas

Para ver tus consultas activas, completa los siguientes pasos:

  1. En la Google Cloud consola, 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 búsquedas activas: Proporciona una descripción general de todas las búsquedas activas mostrando el total de conexiones según los siguientes parámetros:

      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 de larga duración: Proporciona una descripción general de las 50 consultas en ejecución principales (en el estado activas e inactivas en la transacción) 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 búsqueda 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 del ID de conexión o subproceso.
Consulta Texto de consulta de SQL.
Estado Estado de la conexión.
Duración de la sesión Duración de la última sesión en curso.
Duración de la transacción Duración de la transacción activa que se ejecuta.
Duración de consulta Duración de la última consulta en curso en esa transacción.
Tipo de evento de espera Tipo de evento de espera del evento de espera.
Evento de espera Evento de espera que se produce.
Base de datos Nombre de la base de datos en la que se ejecuta esta conexión.
Nombre de la aplicación Nombre de la aplicación en la que se ejecuta esta conexión.
Nombre de usuario Nombre del usuario conectado a la base de datos.
Dirección del cliente Dirección IP específica del cliente que envió una consulta.
Acción Contiene un vínculo para finalizar una transacción.

La pantalla se actualiza automáticamente cada 60 segundos.

Finaliza un proceso

Para finalizar un proceso o una transacción de larga duración en las consultas activas, debes usar la edición Cloud SQL Enterprise Plus y habilitar tanto el análisis de consultas activas como las estadísticas de consultas para la edición Cloud SQL Enterprise Plus.

Las operaciones de larga duración pueden tardar más 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.

Si el sistema finaliza la consulta o la transacción de forma correcta, aparecerá un mensaje de éxito. El sistema también realiza una reversión si es necesario.

Consultas activas bloqueadas

Si una consulta activa específica está bloqueada o se ejecuta durante mucho más tiempo del esperado, esa consulta activa puede bloquear otras consultas dependientes.

Cloud SQL te permite finalizar consultas activas específicas de larga duración o bloqueadas.

Habilita el análisis de las consultas activas bloqueadas

De forma predeterminada,la Google Cloud consola no muestra qué consultas activas están bloqueadas. Para poder analizar las consultas activas bloqueadas, primero debes habilitar la edición Cloud SQL Enterprise Plus y las consultas activas en la instancia.

Para habilitar el análisis de consultas activas bloqueadas, haz lo siguiente:

Console

  1. En la Google Cloud consola, 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. Haz clic en Editar.
  4. Expande Estadísticas de consultas.
  5. Selecciona Habilitar las funciones de Enterprise Plus y Análisis de consultas activas. Ambos parámetros de configuración son obligatorios.
  6. Selecciona Análisis de consultas bloqueadas.
  7. Haz clic en Guardar.

Cómo identificar y detener una consulta activa bloqueada

En los siguientes pasos, se muestra cómo identificar y finalizar una consulta activa específica que podría bloquear otras consultas.

Console

  1. En la Google Cloud consola, 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. En el menú de navegación de SQL, haz clic en Estadísticas de consultas.
  4. Haz clic en la pestaña Consultas activas.

    Si aún no tienes consultas activas en ejecución, navega a Cloud SQL Studio y ejecuta las consultas que deseas investigar.

  5. Navega a la sección Longest running transactions. Puedes ver hasta 50 de las consultas activas que llevan más tiempo en ejecución.

    Cada entrada que se muestra incluye la siguiente información:

    • ID de proceso: Es el ID de proceso de la búsqueda. Haz clic en expandir para ver la entrada. Puedes ver uno de los siguientes íconos:
      • Ícono de reloj de arena: Este ícono indica que el proceso está esperando que finalice otra consulta. Si se incluye un número junto al ícono, este indica cuántas consultas dependientes esperan a que finalice este proceso.
      • Ícono de símbolo de bloqueo: Este ícono indica que el proceso no puede finalizar y que podría bloquear otras búsquedas.
    • Tipo de búsqueda: Es el tipo de búsqueda que se ejecuta, como SELECT o UPDATE.
    • Estado: Es el estado de la búsqueda activa, como ACTIVE.
    • Duración de la sesión (segundos): Es la duración de la sesión actual (en segundos).
    • Duración de la transacción (segundos): Es la duración de la transacción activa actual (en segundos).
    • Duración de la búsqueda (en segundos): Es la duración de la búsqueda activa actual (en segundos).
    • Tipo de evento de espera: Tipo de evento de espera que ocurre actualmente durante la ejecución de la consulta, como Tiempo de espera agotado o Bloqueo.
    • Evento de espera: Es el evento de espera que ocurre actualmente durante la ejecución de la consulta.
    • Acción: Son las acciones posibles que se pueden realizar, como Finalizar conexión.

    Haz clic para expandir el ID del proceso que deseas investigar. Puedes expandir los procesos subyacentes hasta tres niveles de profundidad en el árbol de investigación.

  6. Identifica la consulta específica que está bloqueada y, luego, haz clic en Finalizar conexión. Después de finalizar la conexión, puedes navegar a Cloud SQL Studio para volver a ejecutar tus consultas activas.

¿Qué sigue?