En esta página, se describe cómo supervisar y solucionar problemas de las consultas que están activas en tu base de datos. Las consultas activas son consultas de larga duración en tu base de datos que pueden afectar el rendimiento. La supervisión de estas consultas puede ayudar a identificar las causas de la latencia del sistema y el uso alto de CPU.
Puedes ver las consultas activas en el panel Estadísticas de consultas. Estas consultas 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 debido a las restricciones de memoria que el sistema aplica a la recopilación de datos.
Antes de comenzar
Para comenzar a ver las consultas activas, debes habilitar las estadísticas de consultas mejoradas y activar el análisis de consultas activas para tu instancia de la siguiente manera:
En la consola de Google Cloud, ve a la página Clústeres.
En la lista de clústeres e instancias, haz clic en una instancia principal o de grupo de lectura.
Haz clic en Estadísticas de consultas.
Haz clic en Editar configuración.
En la ventana Edit query insights settings, selecciona Enable enhanced query insights > Active Query Analysis.
Haz clic en Guardar cambios.
En la ventana Debes reiniciar para que se apliquen los cambios, haz clic en Confirmar y reiniciar.
Puedes usar la asistencia de Gemini in Databases para supervisar y solucionar problemas de tus recursos de AlloyDB para PostgreSQL. Para obtener más información, consulta Supervisa y soluciona problemas con la asistencia de Gemini.
Visualiza las consultas activas
Para ver tus consultas activas, haz lo siguiente:
Crea un rol personalizado y agrégale el permiso de Identity and Access Management (IAM)
databaseinsights.monitoringViewer
.Agrega este rol para cada usuario que vea búsquedas activas.
En la consola de Google Cloud, abre la página AlloyDB.
Haz clic en el nombre de un clúster para abrir su página Descripción general.
Selecciona la pestaña Estadísticas de consultas. En el panel Estadísticas de consultas, se muestran detalles sobre el clúster seleccionado.
Haz clic en la pestaña Vista de consultas activas. La pestaña contiene un resumen de las consultas activas en ejecución junto con las 50 transacciones de ejecución más largas.
Puedes filtrar la información por cualquiera de las siguientes opciones:
- 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 un usuario de base de datos específico o de todos los usuarios.
- ID de nodo: Solo se muestra para instancias de grupo de lectura. Filtra la carga de consultas en un nodo específico de la instancia de grupo de lectura o en todos los nodos.
Cuadro de evaluación de resumen de todas las consultas activas normalizadas: 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 conexiones activas según los diferentes tipos de eventos de espera
- Distribución de las duraciones de las transacciones para las consultas que no están en estado inactivo
Transacciones más largas en ejecución: Proporciona una descripción general de las 50 consultas en ejecución principales en los estados
active
yidle in transaction
según el tiempo de ejecución descendente.
Puedes ver una lista de las cincuenta principales consultas activas normalizadas en el panel Estadísticas de consultas.
Una consulta activa normalizada quita los datos sensibles y muestra un resumen. Dos consultas que son idénticas, excepto por los valores de la cláusula WHERE, tienen el mismo resumen. Por ejemplo, considera las siguientes tres consultas de ejemplo:
select * from my_table where id = 1;
select * from my_table where id = 2;
select * from my_table where id = 100;
La versión normalizada de estas consultas es el siguiente resumen:
select * from my_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
En la siguiente tabla, se describen las columnas de la tabla Transacciones más largas en el panel Estadísticas de consultas:
Nombre de la columna | Descripción |
---|---|
ID de proceso | El ID de proceso es el identificador único de la conexión de la base de datos. |
ID de nodo | El ID de nodo es el identificador único del nodo de instancia del grupo de lectura en el que se ejecuta una consulta. |
Consulta | Texto de consulta en SQL normalizado. |
Estado | Estado actual de la conexión. Los valores de estado incluyen active y idle in transaction . |
Duración de las sesiones | Duración de la sesión actual (en segundos). |
Duración de la transacción | Es la duración de la transacción actual (en segundos). |
Duración de consulta | Es la duración de la consulta activa actual (en segundos). La duración de las consultas en el estado idle in transaction es 0 , ya que no se ejecutan de forma activa. |
Tipo de evento de espera | Es el tipo de evento de espera que ocurre durante la ejecución de la consulta. |
Evento de espera | Es el evento de espera que ocurre durante la ejecución de la consulta. |
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 | Es el nombre del usuario de la base de datos conectado a ella. |
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.
Si usas los campos Base de datos y Usuario para filtrar, se actualizarán los datos de la página.
Para analizar datos estáticos, inhabilita la Actualización automática y usa el campo Filtrar de la tabla Transacciones más largas según sea necesario.
Cómo finalizar una consulta o transacció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.
Una transacción puede contener varias consultas. Para identificar cuáles de las consultas están activas en el momento, consulta la columna Consulta en la tabla Transacción de ejecución más larga.
Para finalizar una consulta o transacción, completa los siguientes pasos:
- Selecciona la consulta en la tabla Transacción de ejecución más larga.
- Desplázate hacia la derecha hasta la columna Acción.
- Haz clic en Finalizar conexión.
En la ventana Finalizar conexión, haz clic en Confirmar.
La página se actualiza después de iniciar la rescisión. Si la terminación falla, se silencia y la consulta sigue apareciendo en la lista de consultas activas. Si la cancelación se realiza correctamente, la consulta ya no se mostrará en la lista.