Esta página describe cómo utilizar el panel de información de consultas para detectar y analizar problemas de rendimiento con sus consultas.
Introducción
Query Insights le ayuda a detectar, diagnosticar y prevenir problemas de rendimiento de consultas en bases de datos de Cloud SQL. Permite una monitorización intuitiva y proporciona información de diagnóstico que le ayuda a ir más allá de la detección para identificar la causa raíz de los problemas de rendimiento.
Con Query Insights, puede supervisar el rendimiento a nivel de aplicación y rastrear el origen de una consulta problemática en toda la pila de aplicaciones por modelo, vista, controlador, ruta, usuario y host. La herramienta Query Insights se integra con sus herramientas de monitorización de aplicaciones (APM) existentes y... Google CloudServicios mediante estándares abiertos y API. De esta forma, puede supervisar y solucionar problemas de consultas con su herramienta favorita.
Query Insights lo ayuda a mejorar el rendimiento de las consultas de Cloud SQL guiándolo a través de los siguientes pasos:
- Ver la carga de la base de datos para las consultas principales
- Identificar una consulta o etiqueta potencialmente problemática
- Examine la consulta o etiqueta para identificar problemas
- Rastrear el origen del problema
Información de consultas para la edición Cloud SQL Enterprise Plus
Si usa Cloud SQL Enterprise Plus, puede acceder a funciones adicionales en Query Insights para realizar diagnósticos avanzados del rendimiento de las consultas. Además de las funciones estándar del panel de Query Insights, Query Insights para Cloud SQL Enterprise Plus le permite hacer lo siguiente:
- Capturar y analizar eventos de espera para todas las consultas ejecutadas.
- Filtra la carga de base de datos agregada por dimensiones adicionales, como consultas, etiquetas, tipos de eventos de espera y más.
- Capturar planes de consulta para todas las consultas ejecutadas.
- Muestrear hasta 200 planes de consulta por minuto.
- Captura texto de consulta más largo, de hasta 1 MB.
- Obtenga actualizaciones de métricas casi en tiempo real (en el orden de segundos).
- Mantener una retención de métricas más prolongada de 30 días.
- Obtenga recomendaciones de índices del asesor de índices.
- Terminar una sesión o transacción de larga duración en consultas activas.
- Acceda a la resolución de problemas asistida por IA ( vista previa ).
La siguiente tabla compara los requisitos funcionales y las capacidades de Query Insights para la edición Cloud SQL Enterprise con Query Insights para la edición Cloud SQL Enterprise Plus.
Área de comparación | Información de consultas para la edición Cloud SQL Enterprise | Información de consultas para la edición Cloud SQL Enterprise Plus |
---|---|---|
Versiones de bases de datos compatibles | MySQL 5.7 o posterior | MySQL 8.0 o posterior |
Tipos de máquinas compatibles | Compatible con todos los tipos de máquinas | No compatible con instancias que utilizan un tipo de máquina de núcleo compartido |
Regiones compatibles | Ubicaciones regionales de Cloud SQL | Ubicaciones regionales de la edición Cloud SQL Enterprise Plus |
Periodo de retención de métricas | 7 días | 30 días |
Límite máximo de longitud de consulta | 4500 bytes | 1 MB |
Ejemplo de plan de consulta máximo | 20 | 200 |
Análisis de eventos de espera | No disponible | Disponible |
Recomendaciones de asesores de índices | No disponible | Disponible |
Terminar sesiones o transacciones de larga duración en consultas activas | No disponible | Disponible |
Solución de problemas asistida por IA ( Vista previa ) | No disponible | Disponible |
Habilitar información de consultas para la edición Cloud SQL Enterprise Plus
Para habilitar información de consultas para la edición Cloud SQL Enterprise Plus, seleccione Habilitar funciones de Enterprise Plus cuando habilite información de consultas en su instancia de la edición Cloud SQL Enterprise Plus.
Precios
No hay ningún costo adicional por la información de consultas en las instancias de Cloud SQL Enterprise Edition o Cloud SQL Enterprise Plus Edition.
Requisitos de almacenamiento
La información de consultas de Cloud SQL Enterprise Edition no ocupa espacio en la instancia de Cloud SQL. Las métricas se almacenan en Cloud Monitoring. Para solicitudes de API, consulte los precios de Cloud Monitoring. Cloud Monitoring ofrece un nivel que puede usar sin costo adicional.
La edición Query Insights de Cloud SQL Enterprise Plus almacena datos de métricas en el mismo disco conectado a su instancia de Cloud SQL y requiere que mantenga habilitada la configuración de aumento automático de almacenamiento.
El requisito de almacenamiento para siete días de datos es de aproximadamente 45 GB. Para 30 días, se necesitan aproximadamente 180 GB. Query Insights para Cloud SQL Enterprise Plus utiliza hasta 130 MB de RAM. Se espera que las métricas estén disponibles en Query Insights en un minuto después de completar la consulta. Se aplican las tarifas de almacenamiento correspondientes .Antes de empezar
Antes de utilizar Query Insights, haga lo siguiente.
- Agregue los roles y permisos necesarios .
- Habilitar la API de Cloud Trace .
- Si está usando Query Insights para la edición Cloud SQL Enterprise Plus, asegúrese de que la opción Habilitar aumentos automáticos de almacenamiento esté habilitada para la instancia .
Roles y permisos necesarios
Para utilizar Query Insights, debe otorgar un rol predefinido, crear un rol personalizado o proporcionar una cuenta de usuario con los permisos de administración de identidad y acceso necesarios.
Para obtener más información sobre cómo otorgar roles, consulte Administrar acceso .
Para obtener los permisos que necesita para acceder a los datos históricos de ejecución de consultas en el panel de información de consultas, solicite a su administrador que le otorgue los siguientes roles de IAM en el proyecto que aloja la instancia de Cloud SQL:
- Visor de monitoreo de información de base de datos (
roles/databaseinsights.monitoringViewer
) - Visor de Cloud SQL (
roles/cloudsql.viewer
)
Para obtener más información sobre cómo otorgar roles, consulte Administrar el acceso a proyectos, carpetas y organizaciones .
Estos roles predefinidos contienen los permisos necesarios para acceder a los datos históricos de ejecución de consultas en el panel de información de consultas. Para ver los permisos exactos necesarios, expanda la sección " Permisos requeridos" :
Permisos necesarios
Se requieren los siguientes permisos para acceder a los datos históricos de ejecución de consultas en el panel de información de consultas:
-
databaseinsights.aggregatedStats.query
-
databaseinsights.timeSeries.query
También es posible que puedas obtener estos permisos con roles personalizados u otros roles predefinidos .
Por ejemplo, en Database Insights, puede solicitar a su administrador que le otorgue el rol predefinido "Visor de Database Insights " (roles/databaseinsights.viewer
). Luego, en Cloud SQL, puede solicitar a su administrador que le otorgue uno de los siguientes roles predefinidos:- Editor de Cloud SQL (
roles/cloudsql.editor
) - Administrador de Cloud SQL (
roles/cloudsql.admin
)
Habilitar la API de seguimiento
Para ver los planes de consulta y sus vistas de extremo a extremo, su Google Cloud El proyecto debe tener habilitada la API de seguimiento. Esta configuración permite que suGoogle Cloud El proyecto recibe datos de seguimiento de fuentes autenticadas sin costo adicional. Estos datos pueden ayudarle a detectar y diagnosticar problemas de rendimiento en su instancia.
Para confirmar que la API de seguimiento está habilitada, siga estos pasos:
- Desde Google Cloud consola, vaya a API y servicios :
- Haga clic en Habilitar API y servicios .
- En la barra de búsqueda, ingrese
Trace API
. - Si se muestra "API habilitada" , significa que esta API está habilitada y no hay nada que hacer. De lo contrario, haga clic en "Habilitar" .
Habilitar aumentos automáticos de almacenamiento
Si usa Query Insights para la edición Cloud SQL Enterprise Plus, asegúrese de que la configuración de la instancia para habilitar el aumento automático del almacenamiento permanezca activada. De forma predeterminada, esta opción está activada para las instancias de Cloud SQL.
Si desactivó previamente esta configuración de instancia y desea habilitar Query Insights para Cloud SQL Enterprise Plus Edition, primero vuelva a habilitar los aumentos automáticos de almacenamiento. No es posible desactivar los aumentos automáticos de almacenamiento y habilitar Query Insights para Cloud SQL Enterprise Plus Edition.
Habilitar información de consultas
Al habilitar la información de consultas, se suspenden temporalmente todas las demás operaciones, como las comprobaciones de estado, el registro, la monitorización y otras operaciones de instancia.
Consola
Habilitar información de consultas para una instancia
En el Google Cloud consola, vaya a la página Instancias de Cloud SQL .
- Para abrir la página Descripción general de una instancia, haga clic en el nombre de la instancia.
- En el mosaico Configuración , haga clic en Editar configuración .
- En la sección Personaliza tu instancia , expande Información de consultas .
- Seleccione la casilla de verificación Habilitar información de consultas .
- Opcional: Seleccione funciones adicionales para su instancia. Algunas funciones solo están disponibles para la edición Cloud SQL Enterprise Plus.
- Haga clic en Guardar .
Característica | Descripción | Edición empresarial de Cloud SQL | Edición Cloud SQL Enterprise Plus |
---|---|---|---|
Habilitar las funciones de Enterprise Plus | Seleccione esta casilla para habilitar la información de consultas para Cloud SQL Enterprise Plus. Esta información le permite finalizar sesiones y transacciones de larga duración en consultas activas, habilita las recomendaciones del asesor de índices para acelerar el procesamiento de consultas y aumenta la retención de datos de métricas a 30 días. Las recomendaciones del asesor de índices se habilitan automáticamente al habilitar la información de consultas para Cloud SQL Enterprise Plus. Para deshabilitar las recomendaciones del asesor de índices, desmarque esta casilla. Debe seleccionar esta casilla para habilitar las recomendaciones del asesor de índices y la resolución de problemas asistida por IA ( versión preliminar ). | No disponible | Disponible Predeterminado : Deshabilitado |
Solución de problemas asistida por IA | Seleccione esta casilla para habilitar la detección de anomalías de rendimiento, el análisis de la causa raíz y la situación, y para obtener recomendaciones para solucionar problemas con sus consultas y base de datos. Esta función está en versión preliminar y solo puede habilitarla y acceder a ella mediante el Google Cloud consola. Para obtener más información, consulte Observar y solucionar problemas con asistencia de IA . | No disponible | Disponible Predeterminado : Deshabilitado |
Almacenar direcciones IP de clientes | Seleccione esta casilla para habilitar el almacenamiento de las direcciones IP de los clientes. Cloud SQL puede almacenar las direcciones IP de origen de las consultas y le permite agrupar esos datos para generar métricas. Las consultas provienen de más de un host. Revisar los gráficos de las consultas de las direcciones IP de los clientes puede ayudar a identificar el origen de un problema. | Disponible Predeterminado : Deshabilitado | Disponible Predeterminado : Deshabilitado |
Etiquetas de aplicaciones de la tienda | Seleccione esta casilla para habilitar el almacenamiento de etiquetas de aplicación. Almacenar etiquetas de aplicación le ayuda a determinar las API y las rutas modelo-vista-controlador (MVC) que realizan solicitudes y a agrupar los datos para ejecutar métricas. Esta opción requiere comentar las consultas con un conjunto específico de etiquetas mediante la biblioteca de autoinstrumentación de mapeo objeto-relacional (ORM) de código abierto sqlcommenter . Esta información ayuda a que Query Insights identifique el origen de un problema y el MVC del que proviene. Las rutas de aplicación le ayudan con la monitorización de aplicaciones. | Disponible Predeterminado: Deshabilitado | Disponible Predeterminado: Deshabilitado |
Personalizar la longitud de las consultas | Seleccione esta casilla para personalizar el límite de longitud de una cadena de consulta. Las longitudes de consulta mayores son más útiles para consultas analíticas, pero también requieren más memoria. Cualquier cadena de consulta que supere el límite especificado se trunca en la pantalla. Para cambiar el límite de longitud de la consulta, es necesario reiniciar la instancia. Aún se pueden agregar etiquetas a las consultas que superen dicho límite. | Puede establecer el límite en bytes desde 256 bytes hasta 4500 bytes.Predeterminado : 1024 . | Puede especificar un límite en bytes de 1 a 1048576 .Valor predeterminado : 1024 bytes (1 KB). |
Establecer la frecuencia de muestreo máxima | Seleccione esta casilla para establecer la frecuencia de muestreo máxima. Esta frecuencia corresponde al número de muestras de planes de consulta ejecutados que se capturan por minuto en todas las bases de datos de la instancia. Aumentar la frecuencia de muestreo probablemente le proporcionará más puntos de datos, pero podría aumentar la sobrecarga de rendimiento. Para deshabilitar el muestreo, establezca el valor en 0 . | Cambia este valor a un número entre 0 y 20 .Predeterminado : 5 . | Puede aumentar el máximo a 200 para proporcionar más puntos de datos.Predeterminado : 5 . |
Habilitar información de consultas para múltiples instancias
En el Google Cloud consola, vaya a la página Instancias de Cloud SQL .
- Haga clic en el menú Más acciones en cualquier fila.
- Seleccione Habilitar información de consultas .
- En el cuadro de diálogo, seleccione la casilla de verificación Habilitar información de consultas para múltiples instancias .
- Haga clic en Habilitar .
- En el cuadro de diálogo siguiente, seleccione las instancias para las que desea habilitar la información de consultas.
- Haga clic en Habilitar información de consultas .
nube g
Para habilitar Query Insights para una instancia de Cloud SQL mediante gcloud
, ejecute gcloud sql instances patch
con el indicador --insights-config-query-insights-enabled
de la siguiente manera después de reemplazar INSTANCE_ID con el ID de la instancia.
Si habilita la información de consultas para una instancia de la edición Cloud SQL Enterprise Plus, habilitará automáticamente las recomendaciones del asesor de índices.
gcloud sql instances patch INSTANCE_ID \ --insights-config-query-insights-enabled
Además, utilice uno o más de los siguientes indicadores opcionales:
--insights-config-record-client-address
Almacena las direcciones IP de los clientes de donde provienen las consultas y ayuda a agrupar esos datos para generar métricas. Las consultas provienen de más de un host. Revisar los gráficos de las consultas de las direcciones IP de los clientes puede ayudar a identificar el origen de un problema.
--insights-config-record-application-tags
Almacena etiquetas de aplicación que ayudan a determinar las API y las rutas modelo-vista-controlador (MVC) que realizan solicitudes y a agrupar los datos para ejecutar métricas. Esta opción requiere comentar las consultas con un conjunto específico de etiquetas. Puede hacerlo utilizando la biblioteca de autoinstrumentación de mapeo objeto-relacional (ORM) de código abierto sqlcommenter . Esta información ayuda a Query Insights a identificar el origen de un problema y el MVC del que proviene. Las rutas de aplicación facilitan la monitorización de aplicaciones.
--insights-config-query-string-length
Establece el límite de longitud de consulta predeterminado. Las longitudes de consulta más altas son más útiles para consultas analíticas, pero también requieren más memoria. Para cambiar la longitud de consulta, es necesario reiniciar la instancia. Aún se pueden agregar etiquetas a las consultas que superen el límite de longitud. Para Cloud SQL Enterprise Edition, se puede especificar un valor en bytes de
256
a4500
La longitud de consulta predeterminada es1024
bytes. Para Cloud SQL Enterprise Edition Plus, se puede especificar un límite en bytes de1
a1048576
El valor predeterminado es1024
bytes (1 KB).--query_plans_per_minute
De forma predeterminada, se captura un máximo de 5 muestras de planes de consulta ejecutados por minuto en todas las bases de datos de la instancia. Aumentar la frecuencia de muestreo probablemente le proporcionará más puntos de datos, pero podría aumentar el rendimiento. Para deshabilitar el muestreo, establezca este valor en
0
En Cloud SQL Enterprise Edition, puede cambiar el valor de 0 a 20. En Cloud SQL Enterprise Plus Edition, puede aumentar el máximo hasta 200 para obtener más puntos de datos.
Reemplace lo siguiente:
- INSIGHTS_CONFIG_QUERY_STRING_LENGTH : La longitud de la cadena de consulta que se almacenará, en bytes.
- API_TIER_STRING : La configuración de instancia personalizada que se utilizará para la instancia.
- REGION : La región para la instancia.
gcloud sql instances patch INSTANCE_ID \ --insights-config-query-insights-enabled \ --insights-config-query-string-length=INSIGHTS_CONFIG_QUERY_STRING_LENGTH \ --query_plans_per_minute=QUERY_PLANS_PER_MINUTE \ --insights-config-record-application-tags \ --insights-config-record-client-address \ --tier=API_TIER_STRING \ --region=REGION
REST versión 1
Para habilitar la información de consultas para una instancia de Cloud SQL mediante la API REST, llame al método instances.patch
con la configuración insightsConfig
.
Si habilita la información de consultas para una instancia de la edición Cloud SQL Enterprise Plus, habilitará automáticamente las recomendaciones del asesor de índices.
Antes de utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:
- PROJECT_ID : el ID del proyecto
- INSTANCE_ID : el ID de la instancia
Método HTTP y URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID
Cuerpo JSON de la solicitud:
{ "settings" : { "insightsConfig" : { "queryInsightsEnabled" : true, "recordClientAddress" : true, "recordApplicationTags" : true, "queryStringLength" : 1024, "queryPlansPerMinute" : 20, } } }
Para enviar su solicitud, expanda una de estas opciones:
Debería recibir una respuesta JSON similar a la siguiente:
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID", "status": "PENDING", "user": "[email protected]", "insertTime": "2025-03-28T22:43:40.009Z", "operationType": "UPDATE", "name": "OPERATION_ID", "targetId": "INSTANCE_ID", "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID", "targetProject": "PROJECT_ID" }
Terraformar
Para usar Terraform a fin de habilitar la información de consultas para una instancia de Cloud SQL, configure el indicador query_insights_enabled
en true
.
Si habilita la información de consultas para una instancia de la edición Cloud SQL Enterprise Plus, habilitará automáticamente las recomendaciones del asesor de índices.
También puedes utilizar uno o más de los siguientes indicadores opcionales:
-
query_string_length
: para la edición Cloud SQL Enterprise, puede especificar un valor en bytes de256
a4500
La longitud de consulta predeterminada es1024
bytes. Para la edición Cloud SQL Enterprise Plus, puede especificar un límite en bytes de1
a1048576
El valor predeterminado es1024
bytes (1 KB). -
record_application_tags
: establece el valor entrue
si deseas registrar etiquetas de aplicación de la consulta. -
record_client_address
: establezca el valor entrue
si desea registrar la dirección IP del cliente. El valor predeterminado esfalse
. -
query_plans_per_minute
: para la edición Cloud SQL Enterprise, puede establecer el valor entre0
y20
El valor predeterminado es5
Para la edición Cloud SQL Enterprise Plus, puede aumentar el máximo hasta200
para proporcionar más puntos de datos.
He aquí un ejemplo:
resource "google_sql_database_instance" "INSTANCE_NAME" { name = "INSTANCE_NAME" database_version = "MYSQL_VERSION" region = "REGION" root_password = "PASSWORD" deletion_protection = false # set to true to prevent destruction of the resource settings { tier = "DB_TIER" insights_config { query_insights_enabled = true query_string_length = 2048 # Optional record_application_tags = true # Optional record_client_address = true # Optional query_plans_per_minute = 10 # Optional } } }
Para aplicar su configuración de Terraform en un Google Cloud proyecto, complete los pasos de las siguientes secciones.
Preparar Cloud Shell
- Inicie Cloud Shell .
Establecer el valor predeterminado Google Cloud Proyecto donde desea aplicar sus configuraciones de Terraform.
Solo necesitas ejecutar este comando una vez por proyecto y puedes ejecutarlo en cualquier directorio.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
Las variables de entorno se anulan si establece valores explícitos en el archivo de configuración de Terraform.
Preparar el directorio
Cada archivo de configuración de Terraform debe tener su propio directorio (también llamado módulo raíz ).
- En Cloud Shell , cree un directorio y un nuevo archivo dentro de él. El nombre del archivo debe tener la extensión
.tf
; por ejemplo,main.tf
En este tutorial, el archivo se denominamain.tf
mkdir DIRECTORY && cd DIRECTORY && touch main.tf
Si está siguiendo un tutorial, puede copiar el código de muestra en cada sección o paso.
Copie el código de muestra en el
main.tf
recién creado.Opcionalmente, copie el código de GitHub. Esto se recomienda cuando el fragmento de Terraform forma parte de una solución integral.
- Revise y modifique los parámetros de muestra para aplicarlos a su entorno.
- Guarde sus cambios.
- Inicialice Terraform. Solo necesita hacerlo una vez por directorio.
terraform init
Opcionalmente, para utilizar la última versión del proveedor de Google, incluya la opción
-upgrade
:terraform init -upgrade
Aplicar los cambios
- Revise la configuración y verifique que los recursos que Terraform va a crear o actualizar coincidan con sus expectativas:
terraform plan
Realice correcciones en la configuración según sea necesario.
- Aplique la configuración de Terraform ejecutando el siguiente comando e ingresando
yes
en el indicador:terraform apply
Espere hasta que Terraform muestre el mensaje "¡Aplicación completada!"
- Abre tu Google Cloud proyecto para ver los resultados. En el Google Cloud consola, navegue a sus recursos en la interfaz de usuario para asegurarse de que Terraform los haya creado o actualizado.
Se espera que las métricas estén disponibles en la información de las consultas minutos después de su finalización. Revise la política de retención de datos de Cloud Monitoring .
Los seguimientos de información de consultas se almacenan en Cloud Trace. Revise la política de retención de datos de Cloud Trace .
Ver el panel de información de consultas
El panel de información de consultas muestra la carga de consultas según los factores que seleccione. La carga de consultas mide el trabajo total de todas las consultas de la instancia en el intervalo de tiempo seleccionado. El panel proporciona una serie de filtros que le ayudan a visualizar la carga de consultas.
Para abrir el panel de información de consultas , siga estos pasos:
- Para abrir la página Descripción general de una instancia, haga clic en el nombre de la instancia.
- En el menú de navegación de Cloud SQL, haga clic en Información de consultas o haga clic en Ir a Información de consultas para obtener información más detallada sobre las consultas y el rendimiento en la página de descripción general de la instancia .
Se abre el panel de información de consultas . Dependiendo de si usa información de consultas para Cloud SQL Enterprise Edition o Cloud SQL Enterprise Plus Edition, el panel de información de consultas muestra la siguiente información sobre su instancia:
Edición Cloud SQL Enterprise Plus

- Todas las consultas : Muestra la carga de la base de datos para todas las consultas del intervalo de tiempo seleccionado. Cada consulta tiene un código de color individual. Para ver el momento de una consulta específica, mantenga el cursor sobre el gráfico de la consulta.
- 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.
- Dirección del cliente : filtra la carga de consultas desde una dirección IP específica.
- Rango de tiempo : filtra la carga de consultas por rangos de tiempo, como 1 hora, 6 horas, 1 día, 7 días, 30 días o un rango personalizado.
- Tipos de eventos de espera : filtra la carga de consultas por CPU y bloquea los tipos de eventos de espera.
- Consultas , Tipos de eventos de espera , Bases de datos , Usuarios , Etiquetas y Direcciones de cliente : Ordene por las dimensiones principales que más contribuyen a la carga de la base de datos en el gráfico. Consulte Filtrar la carga de la base de datos .
Edición empresarial de Cloud SQL

- 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.
- Dirección del cliente : filtra la carga de consultas desde una dirección IP específica.
- Rango de tiempo : filtra la carga de consultas por rangos de tiempo, como 1 hora, 6 horas, 1 día, 7 días, 30 días o un rango personalizado.
- Gráfico de carga de la base de datos : muestra el gráfico de carga de consultas, según los datos filtrados.
- Capacidad de CPU, CPU y espera de CPU, espera de E/S y espera de bloqueo : Filtra las cargas según las opciones seleccionadas. Consulte "Ver la carga de la base de datos para las consultas principales" para obtener más información sobre cada uno de estos filtros.
- Consultas y etiquetas : Filtra la carga de consultas según una consulta seleccionada o una etiqueta de consulta SQL seleccionada. Consulte Filtrar la carga de la base de datos .
Ver la carga de la base de datos para todas las consultas
La carga de consultas de la base de datos mide el 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 utiliza o espera recursos de CPU, E/S o bloqueos. La carga de consultas de la base de datos es la relación entre el tiempo empleado por todas las consultas completadas en un intervalo de tiempo determinado y el tiempo real.
El panel de información de consultas de nivel superior muestra el gráfico de carga de la base de datos (todas las consultas principales) . Los menús desplegables del panel permiten filtrar el gráfico por una base de datos, un usuario o una dirección de cliente específicos.
Edición Cloud SQL Enterprise Plus

Edición empresarial de Cloud SQL

Las líneas de colores en el gráfico muestran la carga de consultas, dividida en categorías:
- Capacidad de CPU : la cantidad de CPU disponibles en la instancia.
- CPU y espera de CPU : Relación entre el tiempo que tardan las consultas activas y el tiempo de reloj. Las esperas de E/S y bloqueo no bloquean las consultas activas. Esta métrica podría indicar que la consulta está utilizando la CPU o esperando a que el programador de Linux programe el proceso del servidor que la ejecuta mientras otros procesos utilizan la CPU.
- Espera de E/S : Relación entre el tiempo que tardan las consultas en espera de E/S y el tiempo de reloj. La espera de E/S incluye la espera de E/S de lectura y la espera de E/S de escritura. Si desea un desglose de la información sobre las esperas de E/S, puede consultarla en Cloud Monitoring. Consulte las métricas de Cloud SQL para obtener más información.
- Espera de bloqueo : Relación entre el tiempo que tardan las consultas en espera de bloqueos y el tiempo de reloj. Incluye las esperas de bloqueo, las esperas de bloqueo de LwLock y las esperas de bloqueo de pin de búfer. Para ver un desglose de la información sobre las esperas de bloqueo, utilice Cloud Monitoring. Consulte las métricas de Cloud SQL para obtener más información.
Las líneas de color en el gráfico muestran la carga de la base de datos según el tiempo de ejecución. Revise el gráfico y utilice las opciones de filtrado para explorar estas preguntas:
- ¿La carga de la consulta es alta? ¿El gráfico presenta picos o se eleva con el tiempo? Si no observa una carga alta, el problema no está en la consulta.
- ¿Cuánto tiempo lleva la carga alta? ¿Es alta solo ahora o lleva mucho tiempo así? Utilice el selector de rango para seleccionar varios periodos de tiempo y averiguar cuánto tiempo lleva el problema. Amplía la vista para ver un intervalo de tiempo donde se observan picos de carga de consultas. Reduce la vista para ver hasta una semana de la cronología.
- ¿Qué está causando la alta carga? Puede seleccionar opciones para examinar la capacidad de la CPU, la CPU y la espera de la CPU, la espera de bloqueo o la espera de E/S. El gráfico de cada una de estas opciones tiene un color diferente para que pueda identificar la que presenta la mayor carga. La línea azul oscuro del gráfico muestra la capacidad máxima de la CPU del sistema. Esto le permite comparar la carga de consultas con la capacidad máxima de la CPU del sistema. Esta comparación le ayuda a determinar si una instancia se está quedando sin recursos de la CPU.
- ¿Qué base de datos está experimentando la carga? Seleccione diferentes bases de datos en el menú desplegable "Bases de datos" para encontrar las que tienen la mayor carga.
- ¿Algunos usuarios o direcciones IP específicos causan mayor carga? Seleccione diferentes usuarios y direcciones en los menús desplegables para identificar los que causan mayor carga.
Filtrar la carga de la base de datos
Puede filtrar la carga de la base de datos por consultas o etiquetas. Si utiliza información de consultas para la edición Cloud SQL Enterprise Plus, puede personalizar el gráfico de carga de la base de datos para desglosar los datos mostrados mediante cualquiera de las siguientes dimensiones:Todas las consultas
Tipos de eventos de espera
Bases de datos
Usuarios
Etiquetas
Direcciones de clientes
Para personalizar el gráfico de carga de la base de datos, seleccione una dimensión del menú desplegable Carga de base de datos por tiempo de ejecución .
Ver los principales contribuyentes a la carga de la base de datos
Para ver los principales contribuyentes a la carga de la base de datos, puede usar la tabla "Dimensiones principales por carga de la base de datos" . Esta tabla muestra los principales contribuyentes para el período y la dimensión seleccionados en el menú desplegable "Carga de la base de datos por tiempo de ejecución" . Puede modificar el período o la dimensión para ver los principales contribuyentes de una dimensión o un período diferente.
En la tabla Dimensiones principales por carga de datos , puede seleccionar las siguientes pestañas.
Pestaña | Descripción |
---|---|
Consultas | La tabla muestra las principales consultas normalizadas según el tiempo total de ejecución. Para cada consulta, los datos mostrados en columnas se listan de la siguiente manera:
|
Tipos de eventos de espera | La tabla muestra la lista de los principales tipos de eventos de espera que se produjeron durante el período seleccionado. Esta tabla solo está disponible para la información de consultas de la edición Cloud SQL Enterprise Plus.
|
Bases de datos | La tabla muestra la lista de las principales bases de datos que contribuyeron a la carga durante el período de tiempo elegido en todas las consultas ejecutadas.
|
Usuarios | La tabla muestra la lista de los principales usuarios durante el período de tiempo seleccionado en todas las consultas ejecutadas.
|
Etiquetas | Para obtener información sobre las etiquetas, filtre por etiquetas de consulta . |
Direcciones de clientes | La tabla muestra la lista de los principales usuarios durante el período de tiempo seleccionado en todas las consultas ejecutadas.
|
Filtrar por consultas
La tabla "Consultas principales" ofrece una descripción general de las consultas que generan la mayor carga de consultas. La tabla muestra todas las consultas normalizadas para el intervalo de tiempo y las opciones seleccionadas en el panel "Información de consultas". Ordena las consultas según el tiempo total de ejecución durante el intervalo de tiempo seleccionado.
Edición Cloud SQL Enterprise Plus
Para ordenar la tabla, seleccione un encabezado de columna.

Edición empresarial de Cloud SQL
Para ordenar la tabla, seleccione un encabezado de columna o una propiedad de Filtrar consultas .

La tabla muestra las siguientes propiedades:
- Consulta : la cadena de consulta normalizada. De forma predeterminada, Query Insights muestra solo 1024 caracteres en la cadena de consulta. Las consultas etiquetadas como
UTILITY COMMAND
suelen incluir comandosBEGIN
,COMMIT
yEXPLAIN
, o comandos contenedor. - Base de datos : la base de datos en la que se ejecutó la consulta.
- Recomendaciones : las recomendaciones sugeridas, como Crear índices , para mejorar el rendimiento de las consultas.
- Cargar por tiempo total/Cargar por CPU/Cargar por espera de E/S/Cargar por espera de bloqueo : las opciones con las que puede filtrar consultas específicas para encontrar la carga más grande.
- % de carga por consultas : el porcentaje de carga por consulta individual.
- Analizar la latencia : si habilitó la solución de problemas asistida por IA ( Vista previa ) para esta instancia, puede hacer clic en este enlace para solucionar problemas de consultas lentas.
- Tiempo promedio de ejecución (ms) : el tiempo promedio que tarda la consulta en ejecutarse.
- Veces llamadas : la cantidad de veces que la aplicación llamó a la consulta.
- Promedio de filas devueltas : el número promedio de filas devueltas para la consulta.
- Promedio de filas escaneadas : el número promedio de filas escaneadas para la consulta.
Query Insights almacena y muestra únicamente consultas normalizadas.
De forma predeterminada, Query Insights no recopila direcciones IP ni información de etiquetas. Puede habilitar Query Insights para que recopile esta información y, cuando sea necesario, deshabilitarla.
Los seguimientos del plan de consulta no recopilan ni almacenan ningún valor constante y eliminan cualquier información PII que la constante pueda mostrar.
Query Insights muestra consultas normalizadas, es decir, ?
reemplaza el valor constante literal. En el siguiente ejemplo, se elimina la constante de nombre y ?
la reemplaza.
UPDATE "demo_customer" SET "customer_id" = ?::uuid, "name" = ?, "address" = ?, "rating" = ?, "balance" = ?, "current_city" = ?, "current_location" = ? WHERE "demo_customer"."id" = ?
Filtrar por etiquetas de consulta
Para solucionar problemas de una aplicación, primero debe agregar etiquetas a sus consultas SQL . Las etiquetas de carga de consultas proporcionan un desglose de la carga de consultas de la etiqueta seleccionada a lo largo del tiempo.
Query Insights proporciona monitorización centrada en la aplicación para diagnosticar problemas de rendimiento en aplicaciones creadas con ORM. Si es responsable de toda la pila de aplicaciones, Query Insights le proporciona monitorización de consultas desde una vista de la aplicación. El etiquetado de consultas le ayuda a detectar problemas en construcciones de nivel superior, como en la lógica de negocio o en un microservicio.
Puede etiquetar consultas según la lógica de negocio, por ejemplo, las etiquetas de pago, inventario, análisis de negocio o envío. De esta forma, puede encontrar la carga de consultas generada por las distintas lógicas de negocio. Por ejemplo, podría observar eventos inesperados, como picos en una etiqueta de análisis de negocio a la 1 p. m. o un crecimiento inesperado en una tendencia de servicios de pago durante la semana anterior.
Para calcular la carga de la base de datos de la etiqueta , Query Insights utiliza el tiempo empleado por cada consulta que utiliza la etiqueta seleccionada. La herramienta calcula el tiempo de finalización en minutos utilizando la hora del reloj.
En el panel de información de consultas, para ver la tabla de etiquetas, seleccione Etiquetas . La tabla ordena las etiquetas según su carga total y el tiempo total.

Puede ordenar la tabla seleccionando una propiedad en "Etiquetas de filtro" o haciendo clic en el encabezado de una columna. La tabla muestra las siguientes propiedades:
- Acción, Controlador, Marco, Ruta, Aplicación, Controlador de BD : Cada propiedad que haya añadido a sus consultas aparece como una columna. Debe añadir al menos una de estas propiedades si desea filtrar por etiquetas.
- Cargar por tiempo total/Cargar por CPU/Cargar por espera de E/S/Cargar por espera de bloqueo : Opciones para filtrar consultas específicas para encontrar la carga más grande para cada opción.
- Tiempo promedio de ejecución (ms) : el tiempo promedio que tarda la consulta en ejecutarse.
- Promedio de filas devueltas : el número promedio de filas devueltas para la consulta.
- Promedio de filas escaneadas : el número promedio de filas escaneadas para la consulta.
- Veces llamadas : la cantidad de veces que la aplicación llamó a la consulta.
- Base de datos : la base de datos en la que se ejecutó la consulta.
Ver detalles de la consulta para una consulta o etiqueta específica
Para determinar si una consulta o etiqueta específica es la causa raíz del problema, haga lo siguiente desde la pestaña Consultas o la pestaña Etiquetas , respectivamente:
- Para ordenar la lista en orden descendente, haga clic en el encabezado Cargar por tiempo total .
- Haz clic en la consulta o etiqueta en la parte superior de la lista. Tiene la mayor carga y tarda más que las demás.
La página Detalles de la consulta abre y muestra los detalles de la consulta o etiqueta seleccionada.
Examinar una carga de consulta específica
La página de detalles de la consulta para una consulta seleccionada aparece de la siguiente manera:

La carga de la base de datos: el gráfico de consulta específico muestra una medida del trabajo (en segundos de CPU) que su consulta normalizada ha realizado en su consulta seleccionada con el tiempo. Para calcular la carga, utiliza la cantidad de tiempo tomada por las consultas normalizadas que se completan en el límite minucioso hasta el horario de pared. En la parte superior de la tabla, se muestran los primeros 1024 caracteres de la consulta normalizada, con literales eliminados por razones de agregación y PII.

Al igual que con el gráfico de consultas totales, puede filtrar la carga para una consulta específica por base de datos , usuario y dirección del cliente . La carga de consulta se divide en la capacidad de la CPU , la CPU y la CPU Wait , IO Wait y Lock Wait .
Examinar una carga de consulta etiquetada específica
El tablero para una etiqueta seleccionada aparece de la siguiente manera. Por ejemplo, si todas las consultas de un pago de microservicios se etiquetan como payment
, puede ver el monto de la carga de consulta que tiene tendencias al ver el payment
de la etiqueta.

La carga de la base de datos: el gráfico de etiquetas específicas muestra una medida del trabajo (en segundos de CPU) que consultan que sus etiquetas seleccionadas han realizado en su base de datos seleccionada a lo largo del tiempo. Al igual que con el gráfico total de consultas, puede filtrar la carga para una etiqueta específica por base de datos , usuario y dirección del cliente .
Examine las operaciones en un plan de consulta de muestras
Un plan de consulta toma una muestra de su consulta y la divide en operaciones individuales. Explica y analiza cada operación en la consulta.
MySQL 5.7 proporciona un plan de consulta estimado con la vista Explicar, mientras que MySQL 8.0 y las versiones posteriores proporcionan un plan de consulta ejecutado con la vista de análisis Explication. Un plan de consulta estimado proporciona el tiempo de ejecución estimado de una consulta, mientras que un plan de consulta ejecutado proporciona información en tiempo real de cada paso de ejecución de una consulta dada.
Los planes de consulta en MySQL 5.7 son compatibles con las siguientes consultas que están respaldadas por la Declaración Explicar:
- Para tablas únicas: inserte, seleccione, actualice y elimine.
- Para múltiples tablas: seleccione, actualice y elimine.
Puede generar planes de consulta en MySQL 8.0 y más tarde para todas las consultas respaldadas por Explication Analyze . Esta herramienta le muestra dónde MySQL pasa tiempo en sus consultas seleccionadas para tablas únicas y múltiples tablas. Cloud SQL no es compatible con la generación de planes de consulta de lenguaje de manipulación de datos múltiples (DML) porque estas consultas no son compatibles con el análisis de explicación.
El plan de consulta de muestra proporciona una vista de análisis de explicación para las muestras del plan de consulta que están relacionadas con la consulta normalizada. Estos son planes de consulta ejecutados que proporcionan un desglose del tiempo activo tomado por cada operación en el plan de consulta.
El gráfico de muestras del plan de consulta muestra todos los planes de consulta en funcionamiento en momentos particulares y la cantidad de tiempo que se realizó cada plan. Puede cambiar la tasa a la que las muestras del plan de consulta se capturan por minuto. Consulte Habilitar información de consulta .

De manera predeterminada, el panel de la derecha muestra los detalles del plan de consulta de muestra que lleva más tiempo, como se ve en el gráfico de muestras del plan de consulta . Para ver los detalles de otro plan de consulta de muestra, haga clic en el círculo relevante en el gráfico. Los detalles ampliados muestran un modelo de todas las operaciones en el plan de consulta.
Cada operación muestra la latencia, las filas devueltas y el costo de la operación. Cuando selecciona una operación, puede ver más detalles, como bloques de aciertos compartidos, el tipo de esquema, bucles y filas de plan.

Intenta reducir el problema investigando las siguientes preguntas:
- ¿Cuál es el consumo de recursos?
- ¿Cómo se relaciona con otras consultas?
- ¿El consumo cambia con el tiempo?
Examinar la latencia
La latencia es el tiempo tardado para que la consulta normalizada se complete, en el tiempo de reloj de pared. Utiliza el gráfico de latencia para examinar la latencia en la consulta o la etiqueta. El tablero de latencia muestra las latencias de percentiles 50, 95 y 99 para encontrar comportamientos atípicos.
La siguiente imagen muestra el gráfico de carga de la base de datos en el percentil 50 para una consulta específica con filtros seleccionados para la capacidad de CPU, CPU y CPU Wait, IO Wait y Lock Wait.

La latencia de las consultas paralelas se mide en el tiempo de calcilla de pared a pesar de que la carga de consulta puede ser mayor para la consulta debido a que se usan múltiples núcleos para ejecutar parte de la consulta.
Intenta reducir el problema investigando las siguientes preguntas:
- ¿Qué está causando la carga alta? Seleccione opciones para mirar la capacidad de la CPU, la CPU y la CPU Wait, la espera de E/S o la espera de bloqueo.
- ¿Cuánto tiempo ha sido alta la carga? ¿Es solo alto ahora? ¿O ha sido alto durante mucho tiempo? Cambie el rango de tiempo para encontrar la fecha y la hora en que la carga comenzó a funcionar mal.
- ¿Hubo picos en la latencia? Cambie la ventana de tiempo para estudiar la latencia histórica para la consulta normalizada.
Rastrear la fuente del problema
Cuando encuentre las áreas y momentos en que la carga era la más alta, identifique la fuente del problema utilizando el rastreo para profundizar aún más.
Para ayudarlo a identificar la fuente específica del problema, como un modelo, vista, controlador, ruta, host o usuario, consulta Insights proporciona una vista de traza de aplicación de extremo a extremo en contexto. Esta vista lo ayuda a comprender lo que está sucediendo en la capa de base de datos para una solicitud específica y para encontrar la fuente de una consulta problemática por modelo, vista, controladores y ruta.
Si habilita OpenCensus u Opentelemetry , la información de OpenCensus Span se envía a la base de datos junto con la información de la etiqueta dentro de los comentarios de SQL. Cualquier rastros de la aplicación a la registro de nubes está vinculado con trazas del plan de consulta de la base de datos para ayudar a identificar la fuente del problema.
Haga clic en la pestaña End a final en la pantalla de consulta de muestra para ver la traza de contexto.

Para determinar el cliente y el usuario que causa el problema, use las direcciones del cliente superior y las tablas de los usuarios superiores para encontrar las cargas más altas. Puede agregar un usuario o dirección IP al filtro para analizar más a fondo un usuario o dirección de cliente específica. Los detalles en las tablas incluyen el porcentaje de la carga de la consulta, el tiempo de ejecución promedio en milisegundos y los tiempos llamados.

Puede usar Cloud Trace para ver el rastreo de extremo a extremo para cada paso en el plan de consulta. En el tablero de información de la consulta, haga clic en el enlace View In Trace para abrir la herramienta de seguimiento de la nube. El gráfico de rastreo muestra todas las trazas que se han ejecutado durante el período seleccionado.

Para más detalles, consulte Rastros de búsqueda y visualización .
Agregar etiquetas a las consultas SQL
Etiquetar consultas SQL simplifica la resolución de problemas de la aplicación. Puede usar SQLComMenter para agregar etiquetas a sus consultas SQL, ya sea automáticamente o manualmente.
Use SQLCommenter con Orm
Cuando usa ORM en lugar de escribir directamente consultas SQL, es posible que no encuentre un código de aplicación que esté causando desafíos de rendimiento. También puede tener problemas para analizar cómo su código de aplicación afecta el rendimiento de la consulta. Para abordar este problema, Query Insights proporciona una biblioteca de código abierto llamada SQLComMenter. Esta biblioteca es útil para los desarrolladores y administradores que utilizan herramientas ORM para detectar qué código de aplicación está causando problemas de rendimiento.
Si está utilizando ORM y SQLComMenter juntos, las etiquetas se crean automáticamente. No necesita agregar o cambiar el código en su aplicación.
Puede instalar SQLComMenter en el servidor de aplicaciones. La biblioteca de instrumentación permite que la información de la aplicación relacionada con su marco MVC se propague a la base de datos junto con las consultas como un comentario SQL. La base de datos recoge estas etiquetas y comienza a registrar y agregar estadísticas por etiquetas, que son ortogonales a las estadísticas agregadas por consultas normalizadas. Consulta Insights muestra las etiquetas para que sepa qué aplicación está causando la carga de consulta y puede encontrar el código de aplicación que está causando problemas de rendimiento.
Cuando examina los resultados en registros de bases de datos SQL, aparecen de la siguiente manera:
SELECT * from USERS /action='run+this', controller='foo%3', traceparent='00-01', tracestate='rojo%2'/
Las etiquetas compatibles incluyen el nombre del controlador, la ruta, el marco y la acción.
El conjunto de herramientas ORM en SQLComMenter es compatible con los siguientes lenguajes de programación:
Pitón |
|
Java |
|
Rubí |
|
Node.js |
|
Para obtener más información sobre SQLComMenter y cómo usarlo en su marco ORM, consulte la documentación SQLCommenter .
Use sqlcommenter para agregar etiquetas
Si no está utilizando ORM, debe agregar manualmente etiquetas o comentarios SQLComMenter en el formato correcto de comentarios SQL a su consulta SQL. También debe aumentar cada declaración SQL con un comentario que contenga un par de valores clave serializado. Use al menos una de las siguientes claves:
-
action=''
-
controller=''
-
framework=''
-
route=''
-
application=''
-
db driver=''
Insights de consulta deja caer todas las demás claves.
Deshabilitar las ideas de consulta
Consola
Para deshabilitar las ideas de consulta para una instancia de Cloud SQL utilizando el Google Cloud Consola, siga estos pasos:
En el Google Cloud Consola, vaya a la página de instancias de Cloud SQL .
- Para abrir la página Descripción general de una instancia, haga clic en el nombre de la instancia.
- En el mosaico Configuración , haga clic en Editar configuración .
- En la sección Opciones de configuración , expanda las ideas de consulta .
- Borre la casilla de verificación Actualizar Insights de consulta .
- Haga clic en Guardar .
nube g
Para deshabilitar las ideas de consulta para una instancia de SQL en la nube utilizando gcloud
, ejecute gcloud sql instances patch
con el --no-insights-config-query-insights-enabled
de la siguiente manera, después de reemplazar INSTANCE_ID con la ID de la instancia.
gcloud sql instances patch INSTANCE_ID \ --no-insights-config-query-insights-enabled
DESCANSAR
Para deshabilitar las ideas de consulta para una instancia de SQL en false
nube utilizando la API REST, llame al método queryInsightsEnabled
instances.patch
.
Antes de utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:
- project-id : la identificación del proyecto.
- instance-id : la identificación de instancia.
Método HTTP y URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id
Cuerpo JSON de la solicitud:
{ "settings" : { "insightsConfig" : { "queryInsightsEnabled" : false } } }
Para enviar su solicitud, expanda una de estas opciones:
Debería recibir una respuesta JSON similar a la siguiente:
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id", "status": "PENDING", "user": "[email protected]", "insertTime": "2021-01-28T22:43:40.009Z", "operationType": "UPDATE", "name": "operation-id", "targetId": "instance-id", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/operations/operation-id", "targetProject": "project-id" }
Desactivar Insights de consulta para Cloud SQL Enterprise Plus Edition
Para deshabilitar las ideas de consulta para Cloud SQL Enterprise Plus Edition, haga lo siguiente:
En el Google Cloud Consola, vaya a la página de instancias de Cloud SQL .
- Para abrir la página Descripción general de una instancia, haga clic en el nombre de la instancia.
- Haga clic en Editar .
- En la sección Personaliza tu instancia , expande Información de consultas .
- Borre la casilla de verificación de características de Enable Enterprise Plus .
- Haga clic en Guardar .
¿Qué sigue?
- Blog de lanzamiento: resuelva los cuellos de botella de la base de datos más rápido con las últimas ideas de consultas para Cloud SQL Enterprise Plus Edition
- Ver Google Cloud métricas .
- Blog: aumente las habilidades de solución de problemas de rendimiento de su consulta con Cloud SQL Insights
- Video: Presentación de Cloud SQL Insights
- Podcast: Cloud SQL Insights
- Insights Codelab
- Optimizar el uso elevado de la CPU
- Optimizar el uso elevado de memoria
- Blog: Presentación de SQLCommenter: una biblioteca de instrumentación de Auto-Instrumentación de código abierto
- Blog: Habilite el etiquetado de consultas con SQLCommenter