Para detectar y analizar problemas de rendimiento de las consultas casi en tiempo real en las instancias principales y de grupos de lectura, puedes usar las funciones avanzadas de Estadísticas de consultas para AlloyDB para PostgreSQL. Para obtener una descripción general de estas funciones, consulta Descripción general de las funciones de Estadísticas de consultas avanzadas para AlloyDB.
Para aprender a usar las estadísticas de consultas estándar, consulta Mejora el rendimiento de las consultas con las estadísticas de consultas.
Puedes usar Gemini Cloud Assist para supervisar y solucionar problemas de tus recursos de AlloyDB. Para obtener más información, consulta Supervisa y soluciona problemas con la asistencia de Gemini.
Antes de comenzar
Para acceder al panel de Estadísticas de consultas, habilita el acceso a AlloyDB para PostgreSQL en tu proyecto de Google Cloud .
Roles obligatorios
Para usar las funciones de estadísticas de consultas avanzadas para AlloyDB, necesitas permisos para hacer lo siguiente:
- Para acceder a las funciones avanzadas de Estadísticas de consultas para AlloyDB, necesitas permisos para acceder al panel de Estadísticas de consultas de AlloyDB.
- Para editar la configuración de las funciones de estadísticas de consultas avanzadas de AlloyDB, necesitas permisos para actualizar las instancias de AlloyDB.
Para obtener estos permisos, pídele a tu administrador que te otorgue uno de los siguientes roles:
- Visualizador básico (
roles/viewer) - Visualizador de Database Insights (
roles/databaseinsights.viewer)
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso.
Habilitar las funciones avanzadas de estadísticas de consultas para AlloyDB
Para habilitar la configuración de las estadísticas de consultas avanzadas en una instancia de AlloyDB, sigue estos pasos:
Console
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.
Haz clic en Estadísticas de consultas.
Haz clic en Habilitar o Editar configuración.
En la pestaña Editar configuración de Estadísticas de consultas, selecciona la casilla de verificación Habilitar las funciones avanzadas de Estadísticas de consultas para AlloyDB.
Esto implica los siguientes cambios de configuración de forma predeterminada:
- Activa las casillas de verificación Análisis de eventos de espera y Análisis de consultas activas.
- Aumenta la longitud de la consulta de 4,500 B a 100,000 B.
Guarda los cambios. Esto reinicia tu instancia de AlloyDB para PostgreSQL.
gcloud
gcloud alloydb instances update INSTANCE \
--cluster=CLUSTER \
--project=PROJECT \
--region=REGION \
--observability-config-enabledReemplaza lo siguiente:
INSTANCE: Es el ID de la instancia que se actualizará.CLUSTER: Es el ID del clúster de la instancia.PROJECT: el ID del proyecto del clúster.REGION: Es la región del clúster, por ejemplo,us-central1.
La marca --observability-config-enabled habilita la recopilación y el análisis de datos en una instancia de AlloyDB para supervisar su rendimiento y estado. Si quieres inhabilitar las estadísticas de consultas avanzadas, usa --no-observability-config-enabled.
Terraform
Para usar Terraform y habilitar las estadísticas de consultas avanzadas en tu instancia de AlloyDB, establece el campo enabled en true en el bloque observability_config.
Por ejemplo:
observability_config {
enabled = true
...
}
Si deseas obtener más información para aplicar o quitar una configuración de Terraform, consulta los comandos básicos de Terraform.
REST v1
En este ejemplo, se habilitan las estadísticas de consultas avanzadas en tu instancia de AlloyDB. Para ver una lista completa de los parámetros de esta llamada, consulta Método: projects.locations.clusters.instances.patch. Para obtener información sobre la configuración avanzada de Estadísticas de consultas, consulta Edita la configuración avanzada de Estadísticas de consultas.
Antes de usar cualquiera de los datos de solicitud, realiza los siguientes reemplazos:
CLUSTER_ID: Es el ID del clúster que creas. Debe comenzar con una letra minúscula y puede contener letras minúsculas, números y guiones.PROJECT_ID: Es el ID del proyecto en el que deseas colocar el clúster.LOCATION_ID: Es el ID de la región del clúster.INSTANCE_ID: Es el nombre de la instancia principal que deseas crear.
Para habilitar las Estadísticas de consultas avanzadas en tu instancia, usa la siguiente solicitud
PATCH:
PATCH https://alloydb.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/clusters/CLUSTER_ID/instances/INSTANCE_ID?updateMask=observabilityConfig.enabled
El parámetro de consulta updateMask=observabilityConfig.enabled le indica a la API que actualice el campo enabled dentro del bloque observabilityConfig.
El cuerpo JSON de la solicitud se ve de la siguiente manera:
{
"observabilityConfig": {
"enabled" : true
}
}
Después de habilitar las estadísticas de consultas avanzadas, puedes editar su configuración.
Editar la configuración de las funciones avanzadas
Para editar la configuración de las estadísticas de consultas avanzadas de una instancia de AlloyDB, sigue estos pasos:
Console
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.
Haz clic en Estadísticas de consultas.
Haz clic en Editar configuración y, luego, modifica cualquiera de los siguientes parámetros de configuración:
- Análisis de eventos de espera: El análisis de eventos de espera puede ayudarte a identificar y resolver problemas de rendimiento en tu base de datos. Un evento de espera es un componente que causa un retraso en el procesamiento de una operación relacionada con la consulta.
- Análisis de consultas activas: Realiza un seguimiento de las consultas que se ejecutan de forma activa.
- Almacena comentarios de consultas: Para conocer el contexto de la consulta, revisa los comentarios asociados con cualquier consulta que investigues, como parte de su longitud. No se necesita memoria adicional. Si tus comentarios contienen información sensible, ten en cuenta el acceso de los usuarios.
- Habilitar el asesor de índices: Muestra recomendaciones sobre la creación de índices en la página de estadísticas de consultas de un clúster.
- En el campo Seleccionar frecuencia de ejecución, puedes definir la frecuencia de actualización de las recomendaciones.
- Almacenar las direcciones IP de cliente: Habilita esta opción para hacer un seguimiento de las direcciones IP de cliente y analizar esos datos.
- Almacenar etiquetas de aplicación: Habilita esta opción para saber qué APIs y rutas de estructura modelo-vista-controlador realizan solicitudes y agrupar esos datos para ejecutar métricas en función de ellos.
- Muestreo del plan de consultas Los planes de consultas visualizan las operaciones que se usan para completar una muestra de una consulta. La tasa de muestreo determina cuántas muestras de consultas se pueden capturar por minuto en las bases de datos. Las tasas más altas requieren más memoria.
- En el campo Longitudes de las consultas, puedes cambiar el límite predeterminado de las longitudes de las consultas, de 256 bytes a 100 KB. Se requiere más memoria para las consultas de mayor longitud. Para cambiar la longitud de las consultas, se debe reiniciar la instancia.
Guarda los cambios.
gcloud
gcloud alloydb instances update INSTANCE \
--cluster=CLUSTER \
--project=PROJECT \
--region=REGION \
--observability-config-enabled \
--observability-config-preserve-comments \
--observability-config-track-wait-events \
--observability-config-max-query-string-length=QUERY_LENGTH \
--observability-config-record-application-tags \
--observability-config-query-plans-per-minute=QUERY_PLANS \
--observability-config-track-active-queriesPara configurar también el seguimiento de direcciones IP de clientes o las experiencias de asistencia (versión preliminar), incluye las marcas --observability-config-track-client-address y --observability-config-assistive-experiences-enabled con el comando gcloud beta alloydb instances update:
gcloud beta alloydb instances update INSTANCE \
--cluster=CLUSTER \
--project=PROJECT \
--region=REGION \
--observability-config-enabled \
--observability-config-preserve-comments \
--observability-config-track-wait-events \
--observability-config-max-query-string-length=QUERY_LENGTH \
--observability-config-record-application-tags \
--observability-config-query-plans-per-minute=QUERY_PLANS \
--observability-config-track-active-queries \
--observability-config-track-client-address \
--observability-config-assistive-experiences-enabledReemplaza lo siguiente:
INSTANCE: Es el ID de la instancia que se actualizará.CLUSTER: Es el ID del clúster de la instancia.PROJECT: el ID del proyecto del clúster.REGION: Es la región del clúster, por ejemplo,us-central1.QUERY_LENGTH: Es la longitud de la consulta, que varía de 1,024 a 100,000 bytes. La longitud predeterminada de la consulta es de 10240 bytes. Las consultas de mayor longitud son más útiles para las consultas analíticas, pero también requieren más memoria. Para cambiar la longitud de las consultas, debes reiniciar la instancia. Puedes seguir agregando etiquetas a las consultas que superen el límite de longitud.QUERY_PLANS: Es la cantidad de planes de consulta que se configurarán por minuto. De forma predeterminada, se captura un máximo de 20 muestras de planes de consultas ejecutadas por minuto en todas las bases de datos de la instancia. Cambia este valor a un número del 1 al 200. Para inhabilitar el muestreo, ingresa 0. Es probable que aumentar la tasa de muestreo te proporcione más datos, pero puede afectar negativamente el rendimiento.
Usa las siguientes marcas de observabilidad opcionales si es necesario:
--observability-config-enabled: Permite recopilar y analizar datos en una instancia de AlloyDB para supervisar su rendimiento y estado. Si deseas inhabilitar las estadísticas de consultas avanzadas, usa--no-observability-config-enabled.--observability-config-track-active-queries: habilita el seguimiento de las consultas activas. Si quieres inhabilitar la función, usa--no-observability-config-track-active-queries.--observability-config-track-client-address(versión preliminar): habilita el seguimiento de las direcciones de los clientes. Se configura con el comandogcloud beta alloydb instances update. Si deseas inhabilitar el seguimiento de las direcciones de cliente, usa--no-observability-config-track-client-address.--observability-config-assistive-experiences-enabled(versión preliminar): Permite que las experiencias de asistencia recopilen telemetría mejorada para la supervisión y la solución de problemas. Se configura con el comandogcloud beta alloydb instances update. Si quieres inhabilitar las experiencias de asistencia, usa--no-observability-config-assistive-experiences-enabled.--observability-config-record-application-tags: Almacena etiquetas de aplicación que te ayudan a determinar las APIs y las rutas de estructura modelo-vista-controlador (MVC) que realizan solicitudes y agrupan los datos para ejecutar métricas en función de ellos. Esta opción requiere que comentes las consultas con un conjunto de etiquetas específico. Si no quieres almacenar etiquetas de aplicación, usa--no-observability-config-record-application-tags.--observability-config-preserve-comments: Mantiene los comentarios en las cadenas de consulta registradas por las estadísticas de consultas. Si no quieres conservar los comentarios, usa--no-observability-config-preserve-comments.--observability-config-track-wait-events: habilita el seguimiento de los eventos de espera durante la ejecución de la consulta. Si no deseas hacer un seguimiento de los eventos de espera, usa--no-observability-config-track-wait-events.--observability-config-query-plans-per-minute=QUERY_PLANS: Es la cantidad de planes de consulta que se deben muestrear por minuto. De forma predeterminada, se captura un máximo de 20 muestras de planes de consultas ejecutadas por minuto en todas las bases de datos de la instancia. Cambia este valor a un número del 1 al 200. Para inhabilitar el muestreo, ingresa 0. Es probable que aumentar la tasa de muestreo te proporcione más datos, pero puede afectar negativamente el rendimiento.--observability-config-max-query-string-length=QUERY_LENGTH: Es la longitud de la cadena de consulta en bytes que se almacenará. El valor predeterminado es 10240 bytes. Se permite cualquier valor de 1024 a 100000. Para cambiar la longitud de las consultas, debes reiniciar la instancia.
Terraform
Para usar Terraform y configurar las estadísticas de consultas avanzadas en tu instancia de AlloyDB, usa el recurso google_alloydb_instance.
A continuación, se muestra un ejemplo:
observability_config {
enabled = ENABLED_VALUE
preserve_comments = PRESERVE_COMMENTS_VALUE
track_wait_events = TRACK_WAIT_EVENTS_VALUE
max_query_string_length = MAX_QUERY_STRING_LENGTH_VALUE
record_application_tags = RECORD_APPLICATION_TAGS_VALUE
query_plans_per_minute = QUERY_PLANS_PER_MINUTE_VALUE
track_active_queries = TRACK_ACTIVE_QUERIES_VALUE
track_client_address = TRACK_CLIENT_ADDRESS_VALUE
assistive_experiences_enabled = ASSISTIVE_EXPERIENCES_ENABLED_VALUE
}
Reemplaza lo siguiente:
ENABLED_VALUE: Es el estado de la función de observabilidad de una instancia. Establece entruecuando edites la configuración y especifica otras marcas según sea necesario.PRESERVE_COMMENTS_VALUE: Conserva los comentarios en la cadena de consulta. El valor predeterminado esfalse.TRACK_WAIT_EVENTS_VALUE: Registra eventos de espera durante la ejecución de consultas para una instancia. El valor predeterminado estrue.MAX_QUERY_STRING_LENGTH_VALUE: Es la longitud de la cadena de consulta. El valor predeterminado es10240. Cualquier número entero entre 1024 y 100000 es válido.RECORD_APPLICATION_TAGS_VALUE: Registra etiquetas de aplicación para una instancia. El valor predeterminado estrue.QUERY_PLANS_PER_MINUTE_VALUE: Es la cantidad de planes de ejecución de consultas que capturan las estadísticas por minuto para todas las consultas combinadas. El valor predeterminado es20. Cualquier número entero entre 0 y 200 es válido.TRACK_ACTIVE_QUERIES_VALUE: Realiza un seguimiento de las consultas que se ejecutan de forma activa. El valor predeterminado esfalse.TRACK_CLIENT_ADDRESS_VALUE: Registra las direcciones IP de los clientes para una instancia. El valor predeterminado esfalse.ASSISTIVE_EXPERIENCES_ENABLED_VALUE: Habilita las experiencias de asistencia. El valor predeterminado esfalse.Si deseas obtener más información para aplicar o quitar una configuración de Terraform, consulta los comandos básicos de Terraform.
REST v1
En este ejemplo, se establece la configuración avanzada de Estadísticas de consultas en tu instancia de AlloyDB. Para obtener una lista completa de los parámetros de esta llamada, consulta Método: projects.locations.clusters.instances.patch.
Para establecer la configuración avanzada de Estadísticas de consultas, establece el campo enabled en true y modifica otros campos opcionales según sea necesario. Para obtener una lista completa de los campos de esta llamada, consulta ObservabilityInstanceConfig.
Antes de usar cualquiera de los datos de solicitud, realiza los siguientes reemplazos:
CLUSTER_ID: Es el ID del clúster que creas. Debe comenzar con una letra minúscula y puede contener letras minúsculas, números y guiones.PROJECT_ID: Es el ID del proyecto en el que deseas colocar el clúster.LOCATION_ID: Es el ID de la región del clúster.INSTANCE_ID: Es el nombre de la instancia principal que deseas crear.
Para modificar la configuración de tu instancia, usa la siguiente solicitud PATCH:
PATCH https://alloydb.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/clusters/CLUSTER_ID/instances/INSTANCE_ID?updateMask=observabilityConfig.enabled,observabilityConfig.preserveComments,observabilityConfig.trackWaitEvents,observabilityConfig.maxQueryStringLength,observabilityConfig.recordApplicationTags,observabilityConfig.queryPlansPerMinute,observabilityConfig.trackActiveQueries
El cuerpo JSON de la solicitud que configura todos los campos de estadísticas de consultas avanzadas se ve de la siguiente manera:
{
"observabilityConfig": {
"enabled": true,
"preserveComments": true,
"trackWaitEvents": true,
"maxQueryStringLength": 5000,
"recordApplicationTags": true,
"queryPlansPerMinute": 20,
"trackActiveQueries": true
}
}
Para configurar también los campos trackClientAddress o assistiveExperiencesEnabled (versión preliminar), usa el método v1beta projects.locations.clusters.instances.patch y, luego, incluye esos campos en el cuerpo de la solicitud updateMask y ObservabilityInstanceConfig.
Detecta y diagnostica problemas de rendimiento de las consultas
Puedes usar las estadísticas de consultas avanzadas para detectar y diagnosticar problemas de rendimiento. En el panel de Estadísticas de consultas, se muestra la carga de la base de datos, que es una medición del trabajo (en segundos de CPU) que las consultas ejecutadas en la base de datos seleccionada realizan con el tiempo. Cada consulta en ejecución utiliza o espera recursos. La carga de la base de datos es la proporción de la cantidad de tiempo que tomaron todas las consultas completadas en un período determinado, en tiempo real transcurrido.
Consulta la medición del trabajo realizado por las consultas ejecutadas
En el gráfico de carga de la base de datos, se muestra la medición del trabajo realizado (en segundos de CPU) por todas las consultas ejecutadas en tu base de datos, segmentadas por la dimensión seleccionada. La carga de la base de datos se divide en los datos de distribución que seleccionas en el menú desplegable del gráfico.
Puedes desglosar la carga de la base de datos según cualquiera de las siguientes dimensiones:
- Consulta
- Tipo de evento de espera
- Evento de espera
- Base de datos
- Usuario
Para ver el trabajo que completaron las consultas ejecutadas en tu base de datos, sigue estos pasos:
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.
Haz clic en Estadísticas de consultas.
Elige la base de datos y el usuario.
Elige el tiempo de ejecución total para el que deseas mostrar los datos, por ejemplo, 1 o 6 horas, o un tiempo personalizado.
En el menú desplegable Carga de la base de datos por tiempo de ejecución, elige la dimensión que deseas investigar. Según la dimensión que elijas, el gráfico muestra cómo la dimensión elegida contribuye a la carga general de la base de datos. Por ejemplo, si seleccionas la dimensión Eventos de espera en el menú desplegable del gráfico de carga de la base de datos, se muestra el desglose de todos los eventos de espera que ocurrieron durante el período seleccionado para la base de datos y el usuario seleccionados en el gráfico de carga de la base de datos.
En el gráfico de carga de la base de datos, se muestran los datos de los nueve tipos de eventos de espera y los eventos de espera admitidos en PostgreSQL. Según la cantidad de eventos y tipos de espera, se muestran los diez eventos y tipos de espera que más contribuyen. Si hay más de diez eventos de espera, se muestran los nueve principales y el resto se agrupa en la categoría Otros. Este enfoque también se aplica a otras dimensiones, como consultas, bases de datos y usuarios.
Visualiza los principales contribuyentes a la carga de la base de datos
Con la tabla Dimensiones principales por carga de base de datos, puedes ver los principales colaboradores de la carga de la base de datos para el período y la dimensión elegidos en el gráfico Carga de la base de datos. Según la dimensión que elijas en la tabla Dimensiones principales por carga de base de datos, puedes encontrar los valores principales para el período seleccionado.
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.
Haz clic en Estadísticas de consultas.
Elige la base de datos y el usuario.
Elige el tiempo de ejecución total para el que deseas mostrar los datos, por ejemplo, 1 o 6 horas, o un tiempo personalizado.
En la tabla Dimensiones principales por carga de base de datos, puedes hacer clic en cualquiera de las siguientes opciones:
Dimensión Descripción Consultas En la tabla, se muestran las consultas normalizadas principales por tiempo de ejecución total. Para cada consulta, los datos que se muestran en las columnas se enumeran de la siguiente manera:
- Tiempo de ejecución promedio (ms). Es el tiempo promedio de ejecución de la consulta.
- Tiempo total de ejecución (ms). Es el tiempo total de ejecución que tarda la consulta específica.
- Filas devueltas. Es la cantidad promedio de filas recuperadas para la consulta.
- Cantidad de llamadas. Es la cantidad de veces que la aplicación llamó a la consulta.
- Porcentaje de carga por dimensión del gráfico. En el gráfico de píldora, se muestra cómo se distribuye la dimensión del gráfico para la consulta específica.
Tipos de eventos de espera En la tabla, se muestra la lista de los principales tipos de eventos de espera que ocurrieron durante el período seleccionado.
- Tiempo promedio de espera (ms). Es el tiempo promedio que las consultas pasaron en el tipo de evento de espera específico.
- Tiempo total de espera (ms). Es el tiempo total de ejecución que las consultas pasaron en el tipo de evento de espera específico.
- Es el recuento de tipos de eventos de espera. Es la cantidad de veces que se produjo un tipo de evento de espera específico en el período elegido.
- Porcentaje de carga por dimensión del gráfico. En el gráfico de píldoras, se muestra cómo se distribuye la dimensión del gráfico seleccionada en el menú desplegable del gráfico de carga de la base de datos en el tipo de evento de espera específico.
Eventos de espera En la tabla, se muestra la lista de los principales eventos de espera que se produjeron durante el período seleccionado.
- Tiempo promedio de espera (ms). Tiempo promedio que las consultas pasaron en el evento de espera específico.
- Tiempo total de espera (ms). Es el tiempo total de ejecución que las consultas pasaron en el evento de espera específico.
- Recuento de eventos de espera. Es la cantidad de veces que se produjo un evento de espera específico en el período elegido.
- Porcentaje de carga por dimensión del gráfico. El gráfico de píldora muestra cómo se distribuye la dimensión del gráfico seleccionada en el menú desplegable del gráfico de carga de la base de datos en el evento de espera específico.
Base de datos En la tabla, se muestra la lista de las bases de datos principales que contribuyeron a la carga durante el período elegido en todas las consultas ejecutadas.
- Tiempo promedio transcurrido en la base de datos (ms). Es el tiempo promedio que las consultas pasaron en la base de datos específica.
- Es el tiempo total que se pasa en la base de datos (ms). Es el tiempo total de ejecución que las consultas pasaron en la base de datos específica.
- Porcentaje de carga por dimensión del gráfico. En el gráfico de píldora, se muestra cómo se distribuye la dimensión del gráfico seleccionada en el menú desplegable del gráfico de carga de la base de datos en la base de datos específica.
Usuario En la tabla, se muestra la lista de los usuarios principales para el período elegido en todas las consultas ejecutadas.
- Tiempo promedio dedicado al usuario (ms). Es el tiempo promedio que las consultas dedicaron al usuario específico.
- Tiempo total dedicado al usuario (ms). Es el tiempo total de ejecución que las consultas dedicaron al usuario específico.
- Porcentaje de carga por dimensión del gráfico. El gráfico de píldora muestra cómo se distribuye la dimensión del gráfico seleccionada en el menú desplegable del gráfico de carga de la base de datos en el usuario específico.
Visualiza el tiempo de ejecución de las consultas
Las funciones de estadísticas de consultas avanzadas para AlloyDB muestran las diez consultas principales que contribuyen a la carga de la base de datos en la tabla Dimensiones principales por carga de base de datos. La consulta principal es la que contribuyó con la mayor carga de la base de datos para el período seleccionado. Las consultas posteriores son un porcentaje del tiempo de ejecución más largo.
Para saber cómo se ve afectado el tiempo de ejecución de un parámetro en las dimensiones principales por carga de la base de datos por los diferentes valores de la dimensión del gráfico seleccionada (consultas, tipos de eventos de espera, eventos de espera, bases de datos y usuarios), sigue estos pasos:
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.
Haz clic en Estadísticas de consultas.
Elige la base de datos y el usuario.
Consulta el % de carga por dimensión del gráfico en la tabla Dimensiones principales por carga de base de datos para saber cómo se ve afectado un parámetro de la tabla por los parámetros del gráfico Carga de la base de datos.
Por ejemplo, cuando seleccionas Todas las consultas en el gráfico Carga de la base de datos y haces clic en la pestaña Consultas en la tabla Dimensiones principales por carga de la base de datos, % de carga por consultas muestra una lista de las consultas que más contribuyeron a la carga de la base de datos seleccionada durante el período determinado.
Consulta los detalles sobre el tiempo de ejecución de las consultas
Puedes ver detalles sobre el tiempo de ejecución de la consulta en Más detalles, incluidas las dimensiones que seleccionaste en el gráfico y la tabla de carga de la base de datos, la definición de cada evento de espera y los datos que se encapsulan en la categoría Otros.
En Más detalles, también se muestran detalles de información compleja que no se muestra en ningún otro lugar de la pantalla de detalles de la consulta. Esta información incluye la definición de cada evento de espera.
Para ver los detalles sobre el tiempo de ejecución de la consulta, sigue estos pasos:
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.
Haz clic en Estadísticas de consultas.
Elige la base de datos y el usuario.
En la tabla Dimensiones principales por carga de base de datos, haz clic en Más detalles para una consulta.
Las funciones de Estadísticas de consultas avanzadas para AlloyDB muestran consultas normalizadas ($1, $2, etcétera) para reemplazar los valores constantes literales. Por ejemplo:
UPDATE "demo_customer" SET "customer_id" = $1::uuid, "name" = $2, "address" = $3, "rating" = $4, "balance" = $5, "current_city" = $6, "current_location" = $7 WHERE "demo_customer"."id" = $8
El valor de la constante se ignora para que las estadísticas de consultas avanzadas puedan agregar consultas similares y quitar cualquier información de identificación personal (PII) que la constante pueda mostrar.
Determina la carga de la base de datos para las consultas normalizadas
Para mostrar una medición del tiempo y el uso de recursos por ejecución de consulta (en segundos de CPU) que realizó la consulta normalizada seleccionada en la base de datos elegida a lo largo del tiempo, sigue estos pasos:
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.
Haz clic en Estadísticas de consultas.
Elige la base de datos y el usuario.
Haz clic en Consultas en el gráfico Carga de la base de datos. Para calcular la carga de la base de datos, el gráfico Carga de la base de datos usa la cantidad de tiempo que tardan las consultas normalizadas que se completan en el límite de minutos en comparación con el tiempo real transcurrido.
En la parte superior del gráfico Carga de la base de datos, se muestran los primeros 10 KB de caracteres de la consulta normalizada, en la que se quitan los literales por motivos de agregación y de información de identificación personal (PII).
Para ayudar a determinar la distribución del tiempo que se pasa en cada uno de estos estados, las funciones avanzadas de estadísticas de consultas para AlloyDB distribuyen las cargas de consultas normalizadas en eventos de espera y tipos de eventos de espera.
Puedes estudiar la latencia de las consultas con los gráficos de Latencia. La latencia es el tiempo que tarda en completarse la consulta normalizada, expresado en tiempo real transcurrido. La latencia de las consultas paralelas se mide en tiempo real transcurrido, aunque la carga de la base de datos puede ser mayor para la consulta, ya que se usan varios núcleos para ejecutar parte de ella.
Puedes filtrar por percentil para ver los percentiles 50, 95 o 99 y detectar las consultas que no se ajustan al tiempo de ejecución esperado. Para analizar la latencia histórica de la consulta normalizada, cambia el período.
Analiza las consultas normalizadas
Los planes de consultas te ayudan a comprender y analizar las consultas normalizadas, ya que proporcionan un desglose de las diferentes operaciones en una muestra de tu consulta.
El plan de consulta de muestra proporciona una vista EXPLAIN ANALYZE para las muestras de plan de consulta que están relacionadas con la consulta normalizada. Estos son planes de consultas ejecutados
que proporcionan un desglose del tiempo activo que realizó cada operación en el plan de
consultas.
Para ver un plan de consulta de muestra, sigue estos pasos:
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.
Haz clic en Estadísticas de consultas.
Elige la base de datos y el usuario.
Elige el tiempo de ejecución total para el que deseas mostrar los datos, por ejemplo, 1 o 6 horas, o un tiempo personalizado.
En la tabla Dimensiones principales por carga de base de datos, haz clic en una consulta.
En Muestras de planes de consultas, haz clic en cualquiera de los puntos del gráfico para ver un plan de consulta para esa consulta.
Supervisa y soluciona problemas de rendimiento de las aplicaciones con etiquetas
Las estadísticas de consultas avanzadas proporcionan una supervisión centrada en la aplicación y simplifican el diagnóstico de rendimiento de las aplicaciones compiladas con asignación relacional de objetos (ORM). El etiquetado de consultas te ayuda a encontrar problemas en construcciones de nivel superior, como la lógica empresarial, un microservicio o alguna otra construcción. Puedes usar etiquetas en tu aplicación para ayudarte a hacer lo siguiente:
- Supervisar el rendimiento de la base de datos
- Usa Sqlcommenter para identificar problemas de rendimiento causados por el código de la aplicación.
- Analizar la carga de la base de datos
- Consulta la carga por etiqueta.
Para aprender a usar etiquetas en las estadísticas de consultas, consulta Mejora el rendimiento de las consultas con las estadísticas de consultas.
Soluciona problemas de aplicaciones en la capa de la base de datos
Las estadísticas de consultas avanzadas proporcionan una vista de seguimiento de extremo a extremo en contexto para ayudarte a comprender los problemas con la aplicación en la capa de la base de datos para una solicitud específica. Los seguimientos de aplicaciones de extremo a extremo en contexto te ayudan a determinar el origen de la consulta problemática, por ejemplo, por modelo, vista, controladores y ruta.
Cuando habilitas OpenTelemetry, la información del intervalo se envía a la base de datos junto con la información de la etiqueta dentro de los comentarios de SQL. Los seguimientos de la aplicación a Cloud Logging se vinculan con los seguimientos del plan de consulta de la base de datos para identificar el origen del problema.
Para ver un seguimiento en contexto, sigue estos pasos:
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.
Haz clic en Estadísticas de consultas.
Elige la base de datos y el usuario.
Haz clic en cualquier entrada de la tabla Dimensiones principales por carga de base de datos.
En la página Detalles de las estadísticas de consultas, haz clic en DE EXTREMO A EXTREMO.
También puedes usar Cloud Trace para ver el seguimiento de extremo a extremo de cada paso en el plan de consulta. Para acceder a Cloud Trace, selecciona Operaciones > Trace.
Preguntas frecuentes
En esta sección, se proporcionan respuestas a las preguntas frecuentes sobre las funciones avanzadas de Estadísticas de consultas.
¿Por qué se trunca la cadena de consulta?
De forma predeterminada, las estadísticas de consultas avanzadas muestran 10 KB en las cadenas de consulta. Puedes aumentar la visualización a 100 KB.
¿Por qué la carga de mi CPU está por encima de la línea de núcleos máxima en el gráfico de carga de la base de datos?
La carga de CPU representa el tiempo de ejecución y el tiempo de espera para que el programador de Linux programe el proceso del servidor que se ejecuta, por lo que, como resultado, la carga de CPU puede superar la línea principal máxima.
¿Puedo usar las métricas estándar de Estadísticas de consultas?
Sí. Las estadísticas de consultas estándar generan contadores a los que se puede acceder a través de Stackdriver. Estas métricas están disponibles con la API de Cloud Monitoring y la IU del Explorador de métricas. Para obtener más información, consulta Métricas deGoogle Cloud .
¿Cuál es la longitud máxima de la cadena de consulta?
Para el complemento de estadísticas de consultas estándar, la longitud máxima de la cadena de consulta se limita a 4.5 KB de caracteres. Para las estadísticas de consultas avanzadas, la longitud predeterminada de la cadena es de 10 KB y la longitud máxima se limita a 100 KB.
¿Puedo usar las funciones avanzadas de Estadísticas de consultas con clústeres secundarios?
Puedes habilitar las estadísticas de consultas avanzadas en los clústeres principales que tienen clústeres secundarios configurados, pero no puedes habilitarlas en los clústeres secundarios. Si realizas una conmutación, debes volver a habilitar las estadísticas de consultas avanzadas en el nuevo clúster principal.
¿Qué sigue?
- Descripción general de las funciones de Estadísticas de consultas avanzadas para AlloyDB
- Métricas de AlloyDB
- Blog de instrucciones: Habilita el etiquetado de consultas con Sqlcommenter