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 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:
-
Ver el resumen de la actividad de la instancia:
Visualizador de Cloud SQL (
roles/cloudsql.viewer) -
Ver el resumen de la actividad de la base de datos y las transacciones de larga duración:
Visualizador de Database Insights (
roles/databaseinsights.viewer) -
Finalizar una sesión o una transacción de larga duración:
-
Editor de Cloud SQL (
roles/cloudsql.editor) -
Administrador de operaciones de Database Insights (
roles/databaseinsights.operationsAdmin)
-
Editor 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 otros roles predefinidos.
Habilita las consultas activas
Para habilitar las consultas activas en una instancia de la edición Cloud SQL Enterprise, haz lo siguiente:
-
En la Google Cloud consola, ve a la página Instancias de Cloud SQL.
- Para abrir la página de Descripción general de una instancia, haz clic en su nombre.
- En el campo Configuración, haz clic en Editar configuración.
- En la sección Personaliza tu instancia, expande Estadísticas de consultas.
- Asegúrate de que Habilitar Estadísticas de consultas esté habilitado.
- Selecciona Análisis de consultas activas.
- Haz clic en Guardar.
Para habilitar las consultas activas en una instancia de la edición Cloud SQL Enterprise Plus, haz lo siguiente:
-
En la Google Cloud consola, ve a la página Instancias de Cloud SQL.
- Para abrir la página de Descripción general de una instancia, haz clic en su nombre.
- En el campo Configuración, haz clic en Editar configuración.
- En la sección Personaliza tu instancia, expande Estadísticas de consultas.
- Asegúrate de que Habilitar Estadísticas de consultas esté habilitado.
- Selecciona Habilitar funciones de Enterprise Plus.
- Selecciona Análisis de consultas activas.
- Haz clic en Guardar.
Para poder finalizar una sesión o una transacción de larga duración en consultas activas, debes usar 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:
-
En la Google Cloud consola, ve a la página Instancias de Cloud SQL.
- Para abrir la página de Descripción general de una instancia, haz clic en su nombre.
- En el campo Configuración, haz clic en Editar configuración.
- En la sección Personaliza tu instancia, expande Estadísticas de consultas.
- Desmarca la casilla de verificación Análisis de consultas activas.
- Haz clic en Guardar.
Visualizar las consultas activas
Para ver tus consultas activas, completa los siguientes pasos:
En la Google Cloud consola, ve a la página Instancias de Cloud SQL.
Para abrir la página de Descripción general de una instancia, haz clic en su nombre.
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.
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.
- Distribución de las conexiones activas clasificadas por estado de conexión
- Distribución de las transacciones activas según el estado de la transacción
- 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 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 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.
Puedes usar el Opciones de visualización de contenido… menú vertical para filtrar las columnas que deseas mostrar.
Finaliza un proceso
Para finalizar un proceso o una transacción de larga duración en consultas activas, debes usar la edición Cloud SQL Enterprise Plus y habilitar el Análisis de consultas activas y 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:
- En la tabla Transacción de ejecución más larga, selecciona una consulta.
- En la columna Acción, haz clic en Finalizar conexión.
- 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 brinda la opción de finalizar consultas activas específicas de larga duración o bloqueadas.
Habilita el análisis de consultas activas bloqueadas
De forma predeterminada, Google Cloud la consola no muestra qué consultas activas están bloqueadas. Para poder analizar las consultas activas bloqueadas, primero debes tener habilitadas 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
-
En la Google Cloud consola, ve a la página Instancias de Cloud SQL.
- Para abrir la página de Descripción general de una instancia, haz clic en su nombre.
- Haz clic en Editar.
- Expande Estadísticas de consultas.
- Selecciona Habilitar funciones de Enterprise Plus y Análisis de consultas activas. Se requieren ambos parámetros de configuración.
- Selecciona Análisis de consultas bloqueadas.
- Haz clic en Guardar.
Identifica y finaliza 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
-
En la Google Cloud consola, ve a la página Instancias de Cloud SQL.
- Para abrir la página de Descripción general de una instancia, haz clic en su nombre.
- En el menú de navegación de SQL, haz clic en Estadísticas de consultas.
- 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.
- Navega a la sección Transacciones más largas. Puedes
ver hasta 50 de las consultas activas de mayor duración.
Cada entrada que se muestra incluye la siguiente información:
- ID de proceso: Es el ID de proceso de la consulta. Haz clic en expandir
para ver la entrada. Puedes ver uno de los dos í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, indica cuántas consultas dependientes están esperando que finalice este proceso.
- Ícono de símbolo de bloqueo: Este ícono indica que el proceso no puede finalizar y podría bloquear otras consultas.
- Tipo de consulta: Es el tipo de consulta en ejecución, como
SELECToUPDATE. - Estado: Es el estado de la consulta 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 consulta (segundos): Es la duración de la consulta activa actual (en segundos).
- Tipo de evento de espera: Es el 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 posibles acciones que se pueden realizar, como Finalizar conexión.
Haz clic para expandir el ID de proceso que deseas investigar. Puedes expandir los procesos subyacentes hasta tres niveles de profundidad en el árbol de investigación.
- ID de proceso: Es el ID de proceso de la consulta. Haz clic en expandir
para ver la entrada. Puedes ver uno de los dos íconos:
- 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.