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 ver tus consultas activas, debes hacer lo siguiente:

  1. Configurar Gemini en bases de datos.
  2. Crear un rol personalizado y agrega los siguientes permisos:
    Tareas Roles Permisos
    Ver recomendaciones databaseinsights.viewer databaseinsights.activeQueries.fetch
    databaseinsights.activitySummary.fetch
    Finaliza recomendaciones databaseinsights.operationsAdmin N/A

Visualiza las consultas activas

Para ver tus consultas activas, haz lo siguiente:

  1. Agrega este rol para cada usuario que vea búsquedas activas.

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

    Ir a Instancias de Cloud SQL

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

  4. 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.
  5. Haz clic en la pestaña Vista de consulta activa.

    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 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.
      4. Transacciones de larga duración: Proporciona una descripción general de las 50 consultas en ejecución principales (en el estado activa) 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 larga de ejecución 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.
Búsqueda Texto de consulta de SQL.
Estado de transacción Estado actual de ejecución de la transacción. Los valores permitidos incluyen: 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 Indica la marca de tiempo del momento en que la transacción comenzó su ejecución.
Duración de la transacción La 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 transacciones bloqueadas Cantidad de filas bloqueadas por la transacción activa actual.
Filas de transacciones 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 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 consulta o una transacción, debes tener el rol databaseinsights.operationsAdmin. Para obtener más información, consulta la Referencia de roles básicos y predefinidos de IAM.

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 de base de datos se muestra de inmediato mientras la finalización ocurre en segundo plano.