Mejorar el rendimiento de las consultas con las funciones de información útil sobre las consultas avanzadas de AlloyDB

En esta página se describe cómo usar las funciones de información valiosa sobre las consultas avanzadas de AlloyDB para detectar y analizar problemas de rendimiento de las consultas casi en tiempo real en las instancias principales y de grupo de lectura. Para obtener una descripción general de las funciones de información útil sobre las consultas avanzadas de AlloyDB, consulta el artículo Descripción general de las funciones de información útil sobre las consultas avanzadas de AlloyDB.

Para saber cómo usar las estadísticas de consultas estándar, consulta Mejorar el rendimiento de las consultas con estadísticas de consultas.

Puedes usar Gemini Cloud Assist para monitorizar y solucionar problemas de tus recursos de AlloyDB. Para obtener más información, consulta Monitorizar y solucionar problemas con la ayuda de Gemini.

Antes de empezar

Para acceder al panel de control Estadísticas de consultas, habilita el acceso a AlloyDB para PostgreSQL en tu Google Cloud proyecto.

Roles obligatorios

Para usar las funciones de estadísticas de consultas avanzadas de AlloyDB, necesitas permisos para hacer lo siguiente:

  • Para acceder a las funciones de información útil sobre las consultas avanzadas de AlloyDB, debes tener permisos para acceder al panel de control de información útil sobre las 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, pide a tu administrador que te asigne uno de los siguientes roles:

  • Visor básico (roles/viewer)
  • Visor de estadísticas de la base de datos (roles/databaseinsights.viewer)

Para obtener más información sobre cómo conceder roles, consulta el artículo sobre cómo gestionar el acceso.

Habilitar las funciones de información valiosa sobre las consultas avanzadas en AlloyDB

Para habilitar la configuración de estadísticas de consultas avanzadas en una instancia de AlloyDB, sigue estos pasos:

Consola

  1. En la Google Cloud consola, ve a la página Clusters.

    Ir a Clústeres

  2. En la lista de clústeres e instancias, haz clic en una instancia.

  3. Haz clic en Estadísticas de las consultas.

  4. Haz clic en Habilitar o en Editar configuración.

  5. En la pestaña Editar ajustes de información útil sobre las consultas, seleccione la casilla Habilitar funciones de información útil sobre las consultas avanzadas en AlloyDB.

    Esto implica los siguientes cambios de configuración de forma predeterminada:

    • Activa las casillas Análisis de eventos de espera y Análisis de consultas activas.
    • Aumenta la longitud de la consulta de 4500 B a 100.000 B.
  6. Guarda los cambios. De esta forma, se reiniciará tu instancia de AlloyDB para PostgreSQL.

gcloud

gcloud alpha alloydb instances update INSTANCE \
--cluster=CLUSTER \
--project=PROJECT \
--region=REGION \
--observability-config-enabled

Haz los cambios siguientes:

  • INSTANCE: el ID de la instancia que se va a actualizar.
  • CLUSTER: el ID del clúster de la instancia.
  • PROJECT: el ID del proyecto del clúster.
  • REGION: la región del clúster (por ejemplo, us-central1).

La marca --observability-config-enabled permite recoger y analizar datos de una instancia de AlloyDB para monitorizar su rendimiento y su 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, asigna el valor true al campo enabled del bloque observability_config.

Veamos un ejemplo:

  observability_config {
    enabled = true
  ...
  }
  

Para saber cómo aplicar o quitar una configuración de Terraform, consulta Comandos básicos de Terraform.

REST v1

En este ejemplo se habilita la información útil sobre las consultas avanzadas en una instancia de AlloyDB. Para ver la lista completa de parámetros de esta llamada, consulta Método: projects.locations.clusters.instances.patch. Para obtener información sobre los ajustes de estadísticas de consultas avanzadas, consulta Editar ajustes de estadísticas de consultas avanzadas.

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • CLUSTER_ID: el ID del clúster que crees. Debe empezar por una letra minúscula y puede contener letras minúsculas, números y guiones.
  • PROJECT_ID: el ID del proyecto en el que quieres colocar el clúster.
  • LOCATION_ID: el ID de la región del clúster.
  • INSTANCE_ID: el nombre de la instancia principal que quieras crear.

Para habilitar la configuración de tu instancia, usa la siguiente solicitud PATCH:

PATCH https://alloydb.googleapis.com/v1beta/{instance.name=projects/PROJECT_ID/locations/LOCATION_ID/clusters/CLUSTER_ID/instances/INSTANCE_ID?updateMask=observabilityConfig.enabled}

El parámetro de consulta updateMask=observabilityConfig.enabled indica a la API que actualice el campo enabled del bloque observabilityConfig.

El cuerpo JSON de la solicitud tiene el siguiente aspecto:

{
 "observabilityConfig": {
   "enabled" : true,
 }
}

Una vez que se hayan habilitado las estadísticas de consultas avanzadas, podrá editar su configuración.

Editar la configuración de las funciones avanzadas

Para editar la configuración de la información útil sobre las consultas avanzadas de una instancia de AlloyDB, sigue estos pasos:

Consola

  1. En la Google Cloud consola, ve a la página Clusters.

    Ir a Clústeres

  2. En la lista de clústeres e instancias, haz clic en una instancia.

  3. Haz clic en Estadísticas de las consultas.

  4. Haga clic en Editar configuración y, a continuación, modifique cualquiera de los siguientes ajustes:

    • Análisis de eventos de espera: esta función puede ayudarte a identificar y resolver problemas de rendimiento en tu base de datos. Un evento de espera es un componente que provoca un retraso en el procesamiento de una operación relacionada con una consulta.
    • Análisis de consultas activas: monitoriza las consultas que se están ejecutando.
    • Almacenar comentarios de consultas: descubre el contexto de las consultas viendo los comentarios asociados a cualquier consulta que investigues, como parte de la longitud de la consulta. No necesitas memoria adicional. Si tus comentarios contienen información sensible, ten en cuenta el acceso de los usuarios.
    • Habilitar el asesor de índices: muestra recomendaciones de creación de índices en la página de información valiosa sobre las consultas de un clúster.
    • En el campo Seleccionar frecuencia de ejecución, puede definir la frecuencia de actualización de las recomendaciones.
    • Almacenar direcciones IP de cliente: habilita esta opción para registrar las direcciones IP de los clientes y analizar esos datos.
    • Almacenar etiquetas de aplicaciones: habilite esta opción para saber qué APIs y rutas de controlador de vistas de modelos están realizando solicitudes y agrupar esos datos para generar métricas al respecto.
    • Muestreo de planes de consultas: los planes de consultas visualizan las operaciones que se han usado para completar una muestra de una consulta. La frecuencia de muestreo determina cuántas muestras de consultas se pueden capturar por minuto en tus bases de datos. Cuanto más altas sean, más memoria necesitarán.
    • En el campo Longitud de las consultas, puede cambiar el límite predeterminado de la longitud de las consultas, que va de 256 bytes a 100 KB. Cuanto más largas sean, más memoria necesitarán. Si cambias la longitud de las consultas, debes reiniciar la instancia.
  5. Guarda los cambios.

gcloud

gcloud alpha alloydb instances update INSTANCE \
--cluster=CLUSTER \
--project=PROJECT \
--region=REGION \
--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

Haz los cambios siguientes:

  • INSTANCE: el ID de la instancia que se va a actualizar.
  • CLUSTER: el ID del clúster de la instancia.
  • PROJECT: el ID del proyecto del clúster.
  • REGION: la región del clúster (por ejemplo, us-central1).
  • QUERY_LENGTH: la longitud de la consulta, que va de 1024 a 100.000 bytes. La longitud de consulta predeterminada es de 10.240 bytes. Las consultas más largas son más útiles para las analíticas, pero también requieren más memoria. Si cambias la longitud de las consultas, tendrás que reiniciar la instancia. Aun así, puede añadir etiquetas a las consultas que superen el límite de longitud.
  • QUERY_PLANS: número de planes de consulta que se deben configurar por minuto. De forma predeterminada, se capturan un máximo de 20 muestras de planes de consulta ejecutados por minuto en todas las bases de datos de la instancia. Cambia este valor por un número del 1 al 20. Para inhabilitar el muestreo, introduce 0. Si aumentas la frecuencia de muestreo, es probable que obtengas más puntos de datos, pero puede que el rendimiento se vea afectado.

Si es necesario, usa las siguientes marcas de observabilidad opcionales:

  • --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-record-application-tags: almacena etiquetas de aplicaciones que te ayudan a determinar las APIs y las rutas de controlador de vistas de modelo (MVC) que realizan solicitudes y agrupan datos para generar métricas al respecto. Para usar esta opción, debes añadir comentarios a las consultas con un conjunto específico de etiquetas. Si no quieres almacenar etiquetas de aplicación, usa --no-observability-config-record-application-tags.
  • --observability-config-preserve-comments: mantiene las anotaciones añadidas al código SQL para proporcionar información sobre el código sin afectar a su ejecución. Si no quieres conservar las anotaciones, usa --no-observability-config-preserve-comments.
  • --observability-config-track-wait-events: permite esperar eventos de cada tipo de evento de espera. Si no quieres hacer un seguimiento de los eventos de espera, usa --no-observability-config-track-wait-events.

Terraform

Para usar Terraform y configurar la información útil sobre las 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
  }
  

Haz los cambios siguientes:

  • ENABLED_VALUE: estado de la función de observabilidad de una instancia. Selecciona true cuando edites los ajustes y especifiques otras marcas según sea necesario.
  • PRESERVE_COMMENTS_VALUE: conserva los comentarios en la cadena de consulta. El valor predeterminado es false.
  • TRACK_WAIT_EVENTS_VALUE: registra los eventos de espera durante la ejecución de consultas de una instancia. El valor predeterminado es true.
  • MAX_QUERY_STRING_LENGTH_VALUE: longitud de la cadena de consulta. El valor predeterminado es 10240. Se puede usar cualquier número entero entre 1024 y 100.000.
  • RECORD_APPLICATION_TAGS_VALUE: registra las etiquetas de aplicación de una instancia. El valor predeterminado es true.
  • QUERY_PLANS_PER_MINUTE_VALUE: número de planes de ejecución de consultas captados por las estadísticas por minuto de todas las consultas combinadas. El valor predeterminado es 20. Se puede introducir cualquier número entero entre 0 y 20.
  • TRACK_ACTIVE_QUERIES_VALUE: monitoriza las consultas que se están ejecutando. El valor predeterminado es false.

    Para saber cómo aplicar o quitar una configuración de Terraform, consulta Comandos básicos de Terraform.

REST v1

En este ejemplo se configuran los ajustes de información útil sobre las consultas avanzadas en tu instancia de AlloyDB. Para ver la lista completa de parámetros de esta llamada, consulta Método: projects.locations.clusters.instances.patch.

Para configurar los ajustes avanzados de estadísticas de consultas, defina el campo enabled en true y modifique otros campos opcionales según sea necesario. Para ver la lista completa de campos de esta llamada, consulta ObservabilityInstanceConfig.

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • CLUSTER_ID: el ID del clúster que crees. Debe empezar por una letra minúscula y puede contener letras minúsculas, números y guiones.
  • PROJECT_ID: el ID del proyecto en el que quieres colocar el clúster.
  • LOCATION_ID: el ID de la región del clúster.
  • INSTANCE_ID: el nombre de la instancia principal que quieras crear.

Para modificar la configuración de tu instancia, usa la siguiente solicitud PATCH:

PATCH https://alloydb.googleapis.com/v1beta/{instance.name=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,observabilityConfig.trackClientAddress}

El cuerpo JSON de la solicitud que configura todos los campos de estadísticas de consultas avanzadas tiene el siguiente aspecto:

{
 "observabilityConfig": {
   "enabled" : true,
   "preserveComments": true,
   "trackWaitEvents": true,
   "maxQueryStringLength": 5000,
   "recordApplicationTags": true,
   "queryPlansPerMinute": 20,
   "trackActiveQueries": true,
 }
}

Detectar y diagnosticar problemas de rendimiento de las consultas

Puedes usar las estadísticas de consultas avanzadas para detectar y diagnosticar problemas de rendimiento. El panel de control Estadísticas de consultas muestra la carga de la base de datos, que es una medida del trabajo (en segundos de CPU) que realizan las consultas ejecutadas en la base de datos seleccionada a lo largo del tiempo. Cada consulta en ejecución está usando recursos o esperando a que estén disponibles. La carga de la base de datos es la proporción de tiempo que requieren todas las consultas que se completan en un periodo determinado, en tiempo real transcurrido.

Ver la medida del trabajo realizado por las consultas ejecutadas

El gráfico de carga de la base de datos muestra el volumen de trabajo (en segundos de CPU) de todas las consultas ejecutadas en la base de datos, desglosado por la dimensión seleccionada. La carga de la base de datos se divide en los datos de distribución que seleccionas en el desplegable del gráfico.

Puede desglosar la carga de la base de datos por cualquiera de las siguientes dimensiones:

  • Consulta
  • Tipo de evento de espera
  • Evento de espera
  • Base de datos
  • Usuario

Para ver el trabajo completado por las consultas ejecutadas en tu base de datos, sigue estos pasos:

  1. En la Google Cloud consola, ve a la página Clusters.

    Ir a Clústeres

  2. En la lista de clústeres e instancias, haz clic en una instancia.

  3. Haz clic en Estadísticas de las consultas.

  4. Elige la base de datos y el usuario.

  5. Elige el tiempo total de ejecución durante el que quieres mostrar los datos (por ejemplo, 1 o 6 horas, o un periodo personalizado).

  6. En el desplegable Carga de la base de datos por tiempo de ejecución, elija la dimensión que quiera investigar. En función de la dimensión que elijas, el gráfico mostrará cómo contribuye la dimensión elegida a la carga general de la base de datos. Por ejemplo, si selecciona la dimensión Eventos de espera en el menú desplegable del gráfico de carga de la base de datos, se mostrará el desglose de todos los eventos de espera que se hayan producido durante el periodo seleccionado en la base de datos y el usuario seleccionados.

    El gráfico de carga de la base de datos muestra datos de los nueve tipos de eventos de espera y los eventos de espera admitidos en PostgreSQL. En función del número de eventos y tipos de espera, se muestran los diez principales eventos y tipos de espera que contribuyen. Si hay más de diez eventos de espera, se muestran los nueve principales y el resto se agrupan en la categoría Otros. Este enfoque también se aplica a otras dimensiones, como Consultas, Bases de datos y Usuarios.

Ver los principales colaboradores de la carga de la base de datos

En la tabla Principales dimensiones por carga de la base de datos, puede ver los principales factores que contribuyen a la carga de la base de datos en el periodo y la dimensión seleccionados en el gráfico Carga de la base de datos. En función de la dimensión que elija en la tabla Dimensiones principales por carga de la base de datos, puede encontrar los valores principales del periodo seleccionado.

  1. En la Google Cloud consola, ve a la página Clusters.

    Ir a Clústeres

  2. En la lista de clústeres e instancias, haz clic en una instancia.

  3. Haz clic en Estadísticas de las consultas.

  4. Elige la base de datos y el usuario.

  5. Elige el tiempo total de ejecución durante el que quieres mostrar los datos (por ejemplo, 1 o 6 horas, o un periodo personalizado).

  6. En la tabla Dimensiones principales por carga de la base de datos, puede 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. En cada consulta, los datos que se muestran en las columnas se indican a continuación:
    • Tiempo medio de ejecución (ms). Tiempo medio que tarda en ejecutarse la consulta.
    • Tiempo de ejecución total (ms). Tiempo total de ejecución que ha tardado la consulta específica.
    • Filas devueltas: Número medio de filas obtenidas para la consulta.
    • Veces que se ha llamado. Número de veces que la aplicación ha llamado a la consulta.
    • %load by chart dimension. El gráfico de píldoras muestra cómo se distribuye la dimensión del gráfico en la consulta específica.
    Tipos de eventos de espera En la tabla se muestra la lista de los tipos de eventos de espera principales que se han producido durante el periodo seleccionado.
    • Tiempo medio de espera (ms). Tiempo medio que las consultas han pasado en el tipo de evento de espera específico.
    • Tiempo total de espera (ms). Tiempo total de ejecución que las consultas han dedicado al tipo de evento de espera específico.
    • Recuento de tipos de eventos de espera. Número de veces que se ha producido un tipo de evento de espera específico en el intervalo de tiempo elegido.
    • %load by chart dimension. El gráfico de píldoras 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 eventos de espera principales que se han producido durante el periodo seleccionado.
    • Tiempo medio de espera (ms). Tiempo medio que las consultas han pasado en el evento de espera específico.
    • Tiempo total de espera (ms). Tiempo total de ejecución que las consultas han dedicado al evento de espera específico.
    • Número de eventos de espera. Número de veces que se ha producido un evento wait específico en el intervalo de tiempo elegido.
    • %load by chart dimension. El gráfico de píldoras 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 han contribuido a la carga durante el periodo elegido en todas las consultas ejecutadas.
    • Tiempo medio dedicado a la base de datos (ms). Tiempo medio que las consultas han dedicado a la base de datos específica.
    • Tiempo total dedicado a la base de datos (en milisegundos). Tiempo total de ejecución que las consultas han dedicado a la base de datos específica.
    • %load by chart dimension. El gráfico de píldoras 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 del periodo elegido en todas las consultas ejecutadas.
    • Tiempo medio que pasan los usuarios (en milisegundos). Tiempo medio que las consultas han dedicado al usuario específico.
    • Tiempo total que ha pasado el usuario (en milisegundos). El tiempo total de ejecución que las consultas han empleado en el usuario específico.
    • %load by chart dimension. El gráfico de píldoras 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.

Ver el tiempo de ejecución de una consulta

Las funciones de información útil sobre las consultas avanzadas de AlloyDB muestran las diez consultas principales que contribuyen a la carga de la base de datos en la tabla Dimensiones principales por carga de la base de datos. La consulta principal es la que ha contribuido a la mayor parte de la carga de la base de datos en el periodo seleccionado. Las consultas posteriores son un porcentaje del tiempo de ejecución más largo.

Para saber cómo influyen los distintos valores de la dimensión del gráfico seleccionado (consultas, tipos de eventos de espera, eventos de espera, bases de datos y usuarios) en el tiempo de ejecución de un parámetro en Principales dimensiones por carga de la base de datos, sigue estos pasos:

  1. En la Google Cloud consola, ve a la página Clusters.

    Ir a Clústeres

  2. En la lista de clústeres e instancias, haz clic en una instancia.

  3. Haz clic en Estadísticas de las consultas.

  4. Elige la base de datos y el usuario.

  5. Consulte el porcentaje de carga por dimensión del gráfico en la tabla Dimensiones principales por carga de la base de datos para saber cómo influyen los parámetros de la tabla en los parámetros del gráfico Carga de la base de datos.

    Por ejemplo, si selecciona Todas las consultas en el gráfico Carga de la base de datos y hace clic en la pestaña Consultas de la tabla Dimensiones principales por carga de la base de datos, en % de carga por consultas se muestra una lista de las consultas que han contribuido en mayor medida a la carga de la base de datos seleccionada durante el periodo indicado.

Ver detalles sobre el tiempo de ejecución de las consultas

Puede ver los detalles sobre el tiempo de ejecución de las consultas en Más detalles, incluidos los siguientes: las dimensiones que ha seleccionado 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.

La opción Más detalles también muestra información compleja que no aparece en otras partes 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 una consulta, sigue estos pasos:

  1. En la Google Cloud consola, ve a la página Clusters.

    Ir a Clústeres

  2. En la lista de clústeres e instancias, haz clic en una instancia.

  3. Haz clic en Estadísticas de las consultas.

  4. Elige la base de datos y el usuario.

  5. En la tabla Principales dimensiones por carga de la base de datos, haga clic en Más detalles de una consulta.

Las funciones de información útil sobre las consultas avanzadas de AlloyDB muestran consultas normalizadas ($1, $2, etc.) para sustituir 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 constante se ignora para que las estadísticas de consultas avanzadas puedan agregar consultas similares y eliminar cualquier información personal identificable (IPI) que pueda mostrar la constante.

Determinar la carga de la base de datos de las consultas normalizadas

Para mostrar una medida del tiempo y el uso de recursos por ejecución de consultas (en segundos de CPU) que la consulta normalizada seleccionada ha realizado en la base de datos seleccionada a lo largo del tiempo, sigue estos pasos:

  1. En la Google Cloud consola, ve a la página Clusters.

    Ir a Clústeres

  2. En la lista de clústeres e instancias, haz clic en una instancia.

  3. Haz clic en Estadísticas de las consultas.

  4. Elige la base de datos y el usuario.

  5. En el gráfico Carga de la base de datos, haga clic en Consultas. Para calcular la carga de la base de datos, el gráfico Carga de la base de datos usa el tiempo que tardan las consultas normalizadas en completarse en el límite de un minuto en relació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 han eliminado los literales por motivos de agregación y de información personal identificable (IPI).

Para ayudar a determinar la distribución del tiempo dedicado a cada uno de estos estados, las funciones de información útil sobre las consultas avanzadas de 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 la consulta normalizada en completarse. La latencia de las consultas paralelas se mide en tiempo real transcurrido, aunque la carga de la base de datos puede ser mayor debido a que se usan varios núcleos para ejecutar parte de la consulta.

Puedes filtrar por percentil para ver el percentil 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 periodo.

Analizar consultas normalizadas

Los planes de consultas te ayudan a comprender y analizar las consultas normalizadas, ya que te proporcionan un desglose de las diferentes operaciones en un ejemplo de la consulta.

El plan de consultas de ejemplo proporciona una vista EXPLAIN ANALYZE de los ejemplos de plan de consultas relacionados con la consulta normalizada. Se trata de planes de consultas ejecutados que proporcionan un desglose del tiempo activo que requiere cada operación del plan de consultas.

Para ver un plan de consulta de ejemplo, siga estos pasos:

  1. En la Google Cloud consola, ve a la página Clusters.

    Ir a Clústeres

  2. En la lista de clústeres e instancias, haz clic en una instancia.

  3. Haz clic en Estadísticas de las consultas.

  4. Elige la base de datos y el usuario.

  5. Elige el tiempo total de ejecución durante el que quieres mostrar los datos (por ejemplo, 1 o 6 horas, o un periodo personalizado).

  6. En la tabla Principales dimensiones por carga de la base de datos, haga clic en una consulta.

  7. En Ejemplos de planes de consultas, haz clic en cualquiera de los puntos del gráfico para ver el plan de consultas de esa consulta.

Monitorizar y solucionar problemas de rendimiento de aplicaciones mediante etiquetas

Las estadísticas de consultas avanzadas proporcionan una monitorización centrada en las aplicaciones y simplifican el diagnóstico del rendimiento de las aplicaciones creadas con la asignación relacional de objetos (ORM). El etiquetado de consultas te ayuda a encontrar problemas en estructuras de nivel superior, como la lógica empresarial, un microservicio u otra estructura. Puedes usar etiquetas en tu aplicación para hacer lo siguiente:

  • Monitoriza el rendimiento de la base de datos.
  • Usa Sqlcommenter para identificar problemas de rendimiento causados por el código de la aplicación.
  • Analiza la carga de la base de datos.
  • Consulta la carga por etiqueta.

Para saber cómo usar las etiquetas en Query Insights, consulta Mejorar el rendimiento de las consultas con Query Insights.

Solucionar problemas de aplicaciones en la capa de base de datos

Las estadísticas de consultas avanzadas proporcionan una vista de seguimiento integral y contextual que te ayuda a entender los problemas de la aplicación en la capa de la base de datos de una solicitud específica. Las trazas de aplicaciones completas 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 de los spans se envía a la base de datos junto con la información de la etiqueta en los comentarios de SQL. Las trazas de la aplicación a Cloud Logging se vinculan con las trazas del plan de consulta de la base de datos para identificar el origen del problema.

Para ver un rastreo contextual, sigue estos pasos:

  1. En la Google Cloud consola, ve a la página Clusters.

    Ir a Clústeres

  2. En la lista de clústeres e instancias, haz clic en una instancia.

  3. Haz clic en Estadísticas de las consultas.

  4. Elige la base de datos y el usuario.

  5. Haz clic en cualquier entrada de la tabla Dimensiones principales por carga de la base de datos.

  6. En la página Detalles de estadísticas de consultas, haga clic en De principio a fin.

También puedes usar Cloud Trace para ver las trazas integrales de cada paso del plan de consultas. Para acceder a Cloud Trace, selecciona Operaciones > Trazas.

Preguntas frecuentes

En esta sección se responden preguntas frecuentes sobre las funciones de estadísticas de consultas avanzadas.

¿Por qué se trunca la cadena de consulta?

De forma predeterminada, la información útil sobre las consultas avanzadas muestra 10 KB en las cadenas de consulta. Puedes aumentar el tamaño de la imagen hasta 100 KB.

¿Por qué la carga de mi CPU está por encima de la línea del núcleo máximo en el gráfico Carga de la base de datos?

La carga de la CPU tiene en cuenta tanto el tiempo de ejecución como el tiempo de espera para que el programador de Linux programe el proceso del servidor en ejecución, por lo que la carga de la CPU puede superar la línea del núcleo máximo.

¿Puedo usar las métricas de estadísticas de consultas estándar?

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 mediante la API de Cloud Monitoring y la interfaz de usuario del explorador de métricas. Para obtener más información, consulta las métricas deGoogle Cloud .

¿Cuál es la longitud máxima de la cadena de consulta?

En el caso del complemento Estadísticas de consultas estándar, la longitud máxima de la cadena de consulta es de 4,5 KB. En el caso de las estadísticas de consultas avanzadas, la longitud de cadena predeterminada es de 10 KB y la longitud máxima es de 100 KB.

¿Puedo usar las funciones avanzadas de estadísticas de consultas con clústeres secundarios?

No puedes habilitar estadísticas de consultas avanzadas en clústeres con instancias secundarias. Antes de crear una instancia secundaria en un clúster, debes inhabilitar Estadísticas de consultas avanzadas en todas las instancias del clúster.

Siguientes pasos