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 de 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 funciones avanzadas de estadísticas de consultas 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.
Haga clic en Edit Settings.
En la ventana Editar la configuración de las estadísticas de consultas, selecciona Habilitar las funciones avanzadas de estadísticas de consultas para AlloyDB > Análisis de consultas activas.
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 Cloud Assist 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.
Visualizar las consultas activas
Para ver tus consultas activas, haz lo siguiente:
Crea un rol personalizado y agrega el permiso
databaseinsights.monitoringViewer
de Identity and Access Management (IAM).Agrega este rol para cada usuario que vea búsquedas activas.
En la Google Cloud consola, 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 de 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 según 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 la base de datos específico o de todos los usuarios.
- ID de nodo: Se muestra solo para las instancias de grupo de lectura y filtra la carga de consultas en un nodo de instancia de grupo de lectura específico o en todos los nodos.
Cuadro de evaluación de resumen de todas las búsquedas activas normalizadas: Proporciona una descripción general de todas las búsquedas activas mostrando el total de conexiones según los siguientes parámetros:
- 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 de inactividad.
Transacciones de larga duración: Proporciona una descripción general de las 50 consultas en ejecución principales en el estado
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 de 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 búsquedas 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 de 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 búsqueda. |
Consulta | Es el texto normalizado de la consulta en SQL. |
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 | Duración de la transacción actual (en segundos). |
Duración de consulta | Duración de la búsqueda 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 | Tipo de evento de espera que ocurre durante la ejecución de la consulta. |
Evento de espera | 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 | Nombre del usuario de la base de datos 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.
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 Filtro de la tabla Transacciones de mayor duración 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 este 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 finalización. Si falla la finalización, no se muestra ningún mensaje y la consulta sigue apareciendo en la lista de consultas activas. Si la finalización se realiza correctamente, la búsqueda ya no aparecerá en la lista.