En esta página se describe cómo monitorizar y solucionar los problemas de las consultas activas en tu base de datos. Monitorizar estas consultas puede ayudar a identificar las causas de la latencia del sistema y del uso elevado de la CPU.
En el panel de estadísticas de consultas, puedes ver un resumen de las transacciones activas y una lista de transacciones con las consultas y estadísticas asociadas. Las transacciones se muestran por la hora de inicio de la transacción. Si se están ejecutando muchas consultas, los resultados pueden limitarse a un subconjunto del total de consultas.
Antes de empezar
Para monitorizar las consultas activas, puedes usar la edición Enterprise o Enterprise Plus de Cloud SQL.
Para finalizar una sesión o una transacción de larga duración en consultas activas, debes usar la edición Enterprise Plus de Cloud SQL en tu instancia de Cloud SQL para MySQL.
Para obtener más información sobre las ediciones de Cloud SQL, consulta el artículo Introducción a las ediciones de Cloud SQL.
Roles y permisos necesarios
Para obtener los permisos que necesitas para ver las consultas activas, pide a tu administrador que te conceda los siguientes roles de gestión de identidades y accesos en el proyecto que aloja la instancia de Cloud SQL:
-
Ver el resumen de la actividad de la instancia:
Lector de Cloud SQL (
roles/cloudsql.viewer
) -
Ver el resumen de la actividad de la base de datos y las transacciones de larga duración:
Visor de estadísticas de la base de datos (
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 Estadísticas de bases de datos (
roles/databaseinsights.operationsAdmin
)
-
Editor de Cloud SQL (
Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar 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 se necesitan, despliega la sección Permisos necesarios:
Permisos obligatorios
Para ver las consultas activas, se necesitan los siguientes permisos:
-
Para ver un resumen de la actividad de la base de datos y las transacciones de larga duración, haz lo siguiente:
-
databaseinsights.activeQueries.fetch
-
databaseinsights.activitySummary.fetch
-
También puedes obtener estos permisos con roles personalizados u otros roles predefinidos.
Habilitar consultas activas
Cuando habilita Información valiosa sobre las consultas, las consultas activas se habilitan automáticamente. Para poder finalizar una sesión o una transacción de larga duración en consultas activas, debes usar Información útil sobre las consultas para la edición Enterprise Plus de Cloud SQL.
Inhabilitar consultas activas
No puedes inhabilitar las consultas activas sin inhabilitar las estadísticas de las consultas. Para inhabilitar las consultas activas y las estadísticas de consultas, consulta Inhabilitar estadísticas de consultas.
Ver consultas activas
Para ver tus consultas activas, sigue estos pasos:
En la Google Cloud consola, ve a la página Instancias de Cloud SQL.
Para abrir la página Overview (Resumen) de una instancia, haz clic en su nombre.
Para mostrar el panel de control Estadísticas de las consultas, siga uno de estos pasos:
- Seleccione la pestaña Estadísticas de las consultas.
- Haz clic en Ir a Información valiosa sobre las consultas para obtener detalles sobre las consultas y el rendimiento. Se abrirá el panel de control Información valiosa sobre las consultas. En la parte superior se muestran los detalles de la instancia.
Haz clic en la pestaña Consultas activas.
Desde aquí, puede modificar la información de la consulta que aparece en la tabla Transacciones de mayor duración:
- Base 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.
Tarjeta de resultados de resumen de todas las consultas activas: proporciona una vista general de todas las consultas activas mostrando el total de conexiones en función de los siguientes parámetros:
- Distribución de las conexiones activas categorizadas por estado de conexión.
- Distribución de las transacciones activas en función de su estado.
- Distribución de las duraciones de las consultas.
- Transacciones de mayor duración: ofrece un resumen de las 50 consultas en curso (en estado activo) con mayor tiempo de ejecución, ordenadas de forma descendente. Puedes filtrar y ordenar las consultas activas de la tabla.
Ver consultas activas normalizadas
Puede ver una lista de las transacciones de larga duración principales con consultas activas normalizadas en el panel de control Estadísticas de consultas. Una consulta activa normalizada elimina los datos sensibles y devuelve un resumen. El resumen es el mismo para los diferentes valores que se usan en el siguiente ejemplo:
Consultas periódicas
select * from test_table where id=1;
select * from test_table_where id=2;
Consulta resumida o normalizada
select * from test_table where id=?;
Una consulta que se ejecuta en diferentes sesiones se muestra como entradas distintas en el panel de control.
Ver las transacciones de mayor duración
La tabla Transacciones de mayor duración del panel de control 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 la consulta de SQL. |
Estado de la transacción | El estado de ejecución actual de la transacción. Los valores permitidos son RUNNING , LOCK WAIT , ROLLING BACK y COMMITTING . |
Estado de la conversación | El estado del hilo (o estado de la consulta) indica el estado actual del hilo activo. |
Hora de inicio de la transacción | Marca de tiempo que indica cuándo ha empezado a ejecutarse la transacció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 | Duración de la espera en segundos de la transacción activa actual. |
Duración del estado del subproceso | Tiempo transcurrido en la consulta. |
Filas de transacciones bloqueadas | Número de filas bloqueadas por la transacción activa actual. |
Filas de transacción modificadas | Número 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 enlace para finalizar una transacción. |
La pantalla se actualiza automáticamente cada 60 segundos.
Finalizar una conexión
Para finalizar una conexión o una transacción de larga duración en consultas activas, debes usar la edición Enterprise Plus de Cloud SQL y habilitar Información útil sobre las consultas para la edición Enterprise Plus de Cloud SQL.
Las operaciones de larga duración pueden tardar más en finalizar.
Para finalizar una consulta o una transacción, sigue estos pasos:
- En la tabla Transacción de mayor duración, seleccione una consulta.
- En la columna Acción, haga clic en Finalizar conexión.
- En la ventana Finalizar conexión, haz clic en Confirmar.
Una solicitud de base de datos se devuelve inmediatamente mientras la finalización se produce en segundo plano.
La página se actualiza después de iniciar la cancelación. Si la finalización falla, no se devuelve ningún mensaje de error ni notificación. La consulta seguirá apareciendo en la lista Consultas activas. Si la cancelación se realiza correctamente, la consulta dejará de mostrarse en la lista. Si la finalización requiere una reversión, la columna Estado de la transacción muestra el estado REVERSIÓN, lo que significa que la finalización sigue en curso.