En esta página, se describe cómo usar el panel de Estadísticas de consultas para detectar y analizar problemas de rendimiento.
Introducción
Estadísticas de consultas te ayuda a detectar, diagnosticar y prevenir problemas de rendimiento de las consultas para las bases de datos de Cloud SQL. Admite la supervisión intuitiva y proporciona información de diagnóstico que te ayuda a ir más allá de la detección para identificar la causa raíz de los problemas de rendimiento.
Estadísticas de consultas te ayuda a mejorar el rendimiento de las consultas de Cloud SQL mediante la orientación a través de los siguientes pasos:
- Visualiza la carga de la base de datos para las consultas más frecuentes
- Cómo identificar una búsqueda potencialmente problemática
Cómo consultar estadísticas para la edición de Cloud SQL Enterprise Plus
Si usas la edición Enterprise Plus de Cloud SQL, puedes acceder a funciones adicionales en las estadísticas de consultas para realizar diagnósticos avanzados del rendimiento de las consultas. Además de las funciones estándar del panel de Estadísticas de consultas, las estadísticas de consultas de la edición Enterprise Plus de Cloud SQL te permiten hacer lo siguiente:
- Captura texto de consulta más largo de hasta 20 KB
- Mantén una retención de métricas de 30 días más prolongada
- Obtén recomendaciones de índices del asesor de índices
- Cómo finalizar una sesión en las consultas activas
En la siguiente tabla, se comparan los requisitos funcionales y las capacidades de las estadísticas de consultas de la edición de Cloud SQL Enterprise con las de la edición de Cloud SQL Enterprise Plus.
Área de comparación | Consulta estadísticas de la edición de Cloud SQL Enterprise | Cómo consultar estadísticas para la edición de Cloud SQL Enterprise Plus |
---|---|---|
Versiones de bases de datos compatibles |
Todas las versiones de las siguientes instancias:
Estadísticas de consultas no es compatible con instancias de la edición Express de SQL Server. |
SQL Server Enterprise versión 2019 o 2022 |
Tipos de máquinas admitidos | Compatible con todos los tipos de máquinas | No se admite en instancias que usan un tipo de máquina de núcleo compartido. |
Regiones admitidas | Ubicaciones regionales de Cloud SQL | Ubicaciones regionales de la edición Enterprise Plus de Cloud SQL |
Período de retención de métricas | 7 días | 30 días |
Límite máximo de longitud de la consulta | 4,500 bytes | 20 KB |
Recomendaciones del Asesor de índices | No disponible | Disponible |
Cómo finalizar sesiones en consultas activas | No disponible | Disponible |
Para habilitar las estadísticas de consultas de la edición de Cloud SQL Enterprise Plus durante la versión preliminar de tu instancia de la edición de Cloud SQL Enterprise Plus, sigue los pasos que se indican en Habilita las estadísticas de consultas de la edición de Cloud SQL Enterprise Plus.
Precios
No hay costo adicional por las estadísticas de consultas. Además, no hay costo para habilitar las estadísticas de consultas para la edición de Cloud SQL Enterprise Plus, que está en versión preliminar.
Requisitos de almacenamiento
Las estadísticas de consultas almacenan datos de métricas en la instancia y requieren que mantengas habilitado el parámetro de configuración de aumentos de almacenamiento automáticos. Se aplican las tarifas de almacenamiento correspondientes.
Antes de comenzar
Antes de usar las estadísticas de búsqueda, haz lo siguiente.
- Agrega los roles y permisos necesarios.
- Asegúrate de que la opción Habilitar los aumentos de almacenamiento automáticos esté habilitada para la instancia.
Roles y permisos requeridos
Para usar las estadísticas de consultas, debes otorgar roles con los permisos necesarios de Identity and Access Management o proporcionar una cuenta de usuario con los permisos necesarios.
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso.
Para obtener los permisos que necesitas para acceder a los datos históricos de ejecución de consultas en el panel de estadísticas de consultas, pídele a tu administrador que te otorgue los siguientes roles de IAM en el proyecto que aloja la instancia de Cloud SQL:
-
Visualizador de supervisión de Database Insights (
roles/databaseinsights.monitoringViewer
) -
Visor de Cloud SQL (
roles/cloudsql.viewer
)
Para obtener más información sobre cómo otorgar roles, consulta Administra 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 estadísticas de consultas. Para ver los permisos exactos que son necesarios, expande 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 Información sobre consultas:
-
databaseinsights.aggregatedStats.query
-
databaseinsights.timeSeries.query
También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.
Por ejemplo, en Database Insights, puedes pedirle al administrador que te otorgue el rol predefinido de Visualizador de Database Insights (roles/databaseinsights.viewer
). Luego, en Cloud SQL, puedes pedirle al administrador que te otorgue uno de los siguientes roles predefinidos:
- Editor de Cloud SQL (
roles/cloudsql.editor
) - Administrador de Cloud SQL (
roles/cloudsql.admin
)
Habilitar los aumentos de almacenamiento automáticos
Asegúrate de que la configuración de la instancia para habilitar los aumentos automáticos de almacenamiento permanezca habilitada.Si inhabilitaste este parámetro de configuración de la instancia, vuelve a habilitar los aumentos de almacenamiento automáticos antes de habilitar las estadísticas de consultas.
Habilitar las estadísticas de consultas
Los usuarios que tienen acceso al panel de Cloud SQL pueden acceder a las métricas de Estadísticas de consultas. Si tienes permiso para actualizar instancias, puedes habilitar las estadísticas de consultas. Para obtener una lista de los permisos necesarios para las instancias de Cloud SQL, consulta Control de acceso a proyectos de Cloud SQL. Si no tienes estos permisos y deseas habilitar Estadísticas de consultas en tus instancias, comunícate con tu administrador.
Console
Habilita las estadísticas de consultas para una instancia
-
En la consola de Google Cloud , ve a la página Instancias de Cloud SQL.
- Para abrir la página de Descripción general de una instancia, haz clic en su nombre.
- En el campo Configuración, haz clic en Editar configuración.
- En la sección Personaliza tu instancia, expande Estadísticas de consultas.
- Selecciona la casilla de verificación Habilitar Estadísticas de consultas.
- Opcional. Selecciona una o más de las siguientes funciones adicionales de las estadísticas de búsquedas:
- Haz clic en Guardar.
Personalizar la longitud de las consultas
Valor predeterminado: 1024
Establece el límite de longitud de la consulta en un valor especificado de 256 a 4,500 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.
Habilitar las estadísticas de consultas para varias instancias
-
En la consola de Google Cloud , ve a la página Instancias de Cloud SQL.
- Haz clic en el menú Más acciones en cualquier fila.
- Selecciona Habilitar Estadísticas de consultas.
- En el diálogo, selecciona la casilla de verificación Habilitar las estadísticas de consultas para varias instancias.
- Haz clic en Habilitar.
- En el siguiente cuadro de diálogo, selecciona las instancias para las que deseas habilitar las estadísticas de consultas.
- Haz clic en Habilitar Estadísticas de consultas.
gcloud
Para habilitar Estadísticas de consultas en una instancia de Cloud SQL con gcloud
, ejecuta gcloud sql instances patch
con la marca --insights-config-query-insights-enabled
de la siguiente manera después de reemplazar INSTANCE_ID por el ID de la instancia.
gcloud sql instances patch INSTANCE_ID \ --insights-config-query-insights-enabled
Además, usa una o más de las siguientes marcas opcionales:
--insights-config-query-string-length
Establece el límite de longitud predeterminado de la consulta en un valor especificado de 256 a 4,500 bytes. La longitud predeterminada de la consulta es de 1,024 bytes. Las consultas más largas 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.
Reemplaza lo siguiente:
- INSIGHTS_CONFIG_QUERY_STRING_LENGTH: La longitud de la string de consulta que se almacenará, en bytes.
- API_TIER_STRING: La configuración de instancia personalizada para usar en la instancia.
- REGION: La región de la instancia.
gcloud sql instances patch INSTANCE_ID \ --insights-config-query-insights-enabled \ --insights-config-query-string-length=INSIGHTS_CONFIG_QUERY_STRING_LENGTH \ --tier=API_TIER_STRING \ --region=REGION
REST v1
Para habilitar Estadísticas de consultas en una instancia de Cloud SQL con la API de REST, llama al método instances.patch
con la configuración de insightsConfig
.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- project-id: El ID del proyecto
- instance-id: El ID de la 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" : true } } }
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id", "status": "PENDING", "user": "user@example.com", "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" }
Terraform
Si deseas usar Terraform para habilitar Estadísticas de consultas en una instancia de Cloud SQL, configura la marca query_insights_enabled
como true
.
Además, puedes usar una o más de las siguientes marcas opcionales:
-
query_string_length
: El valor predeterminado es1024
y puedes configurarlo para que tenga un valor entre256
y4500
en bytes. -
record_application_tags
: Establece el valor entrue
si deseas registrar etiquetas de aplicación de la consulta. -
record_client_address
: Establece el valor entrue
si quieres registrar la dirección IP del cliente. -
query_plans_per_minute
: El valor predeterminado es5
y puedes configurarlo para que tenga un valor entre5
y20
.
A continuación, se presenta un ejemplo:
Para aplicar tu configuración de Terraform en un proyecto de Google Cloud , completa los pasos de las siguientes secciones.
Prepara Cloud Shell
- Inicia Cloud Shell
-
Establece el proyecto predeterminado de Google Cloud en el que deseas aplicar tus 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 configuras valores explícitos en el archivo de configuración de Terraform.
Prepara el directorio
Cada archivo de configuración de Terraform debe tener su propio directorio (también llamado módulo raíz).
-
En Cloud Shell, crea un directorio y un archivo nuevo dentro de ese directorio. El nombre del archivo debe tener la extensión
.tf
, por ejemplo,main.tf
. En este instructivo, el archivo se denominamain.tf
.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
Si sigues un instructivo, puedes copiar el código de muestra en cada sección o paso.
Copia el código de muestra en el
main.tf
recién creado.De manera opcional, copia el código de GitHub. Esto se recomienda cuando el fragmento de Terraform es parte de una solución de extremo a extremo.
- Revisa y modifica los parámetros de muestra que se aplicarán a tu entorno.
- Guarda los cambios.
-
Inicializa Terraform. Solo debes hacerlo una vez por directorio.
terraform init
De manera opcional, incluye la opción
-upgrade
para usar la última versión del proveedor de Google:terraform init -upgrade
Aplica los cambios
-
Revisa la configuración y verifica que los recursos que creará o actualizará Terraform coincidan con tus expectativas:
terraform plan
Corrige la configuración según sea necesario.
-
Para aplicar la configuración de Terraform, ejecuta el siguiente comando y, luego, escribe
yes
cuando se te solicite:terraform apply
Espera hasta que Terraform muestre el mensaje “¡Aplicación completa!”.
- Abre tu proyecto de para ver los resultados. En la consola de Google Cloud , navega a tus recursos en la IU para asegurarte de que Terraform los haya creado o actualizado.
Se espera que las métricas estén disponibles en Estadísticas de consultas después de que se completan las consultas.
Habilita las estadísticas de consultas para la edición de Cloud SQL Enterprise Plus
Puedes habilitar las estadísticas de consultas para la edición Enterprise Plus de Cloud SQL en tu instancia de Cloud SQL solo con la consola de Google Cloud .
-
En la consola de Google Cloud , ve a la página Instancias de Cloud SQL.
- Para abrir la página de Descripción general de una instancia, haz clic en su nombre.
- Haz clic en Edit.
- En la sección Almacenamiento, verifica que esté seleccionada la casilla de verificación Habilitar los aumentos de almacenamiento automáticos.
- En la sección Personaliza tu instancia, expande Estadísticas de consultas.
- Selecciona la casilla de verificación Habilitar funciones de Enterprise Plus.
Después de habilitar las estadísticas de consultas para la edición Enterprise Plus de Cloud SQL, puedes actualizar los siguientes campos:
Personalizar la longitud de las consultas: Especifica el límite, en bytes, de la longitud de la consulta. Puedes especificar un número de
256
a20480
. Cualquier cadena de consulta que supere el límite especificado se truncará en la visualización. Un límite de longitud de consulta más alto requiere más memoria. El valor predeterminado es10240
bytes (10 KB).
Haz clic en Guardar.
Visualiza el panel de Estadísticas de consultas
En el panel de Estadísticas de consultas, se muestra la carga de consultas según los factores que selecciones. La carga de consultas es una medición del trabajo total para todas las consultas en la instancia del intervalo de tiempo seleccionado. En el panel, se proporciona una serie de filtros que te ayudan a ver la carga de consultas.
Para abrir el panel de Estadísticas de consultas, sigue estos pasos:
- Para abrir la página de Descripción general de una instancia, haz clic en su nombre.
- Selecciona la pestaña Estadísticas de consultas en el panel de navegación izquierdo o haz clic en el vínculo Ir a Estadísticas de consultas para obtener información más detallada sobre las consultas y el rendimiento.
Se abrirá el panel de Estadísticas de consultas. En ella, se muestra la siguiente información sobre tu instancia:
- Bases de datos: Filtra la carga de consultas en una base de datos específica o en todas las bases de datos.
- Intervalo de tiempo: Filtra la carga de consultas por intervalos de tiempo, como 1 hora, 6 horas, 1 día, 7 días, 30 días o un intervalo personalizado.
- Gráfico de carga de la base de datos: Muestra el gráfico de carga de consultas en función de los datos filtrados.
- Consultas y Bases de datos: Filtra la carga de consultas por una consulta o una base de datos seleccionadas. Consulta Filtra la carga de la base de datos.
Visualiza la carga de la base de datos para todas las consultas
La carga de consultas de la base de datos es una medida del trabajo (en segundos de CPU) que ejecutan las consultas en la base de datos seleccionada a lo largo del tiempo. Cada consulta en ejecución utiliza o espera recursos de CPU, recursos de IO o recursos de bloqueo. La carga de consultas 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 comparación con las horas reales.
El panel de estadísticas de consultas de nivel superior muestra el grafo Carga de la base de datos por tiempo de ejecución. Los menús desplegables del panel te permiten filtrar el gráfico para todas las bases de datos o una específica.
Las líneas de colores del gráfico muestran la carga de cada base de datos por tiempo de ejecución. Revisa el gráfico y usa las opciones de filtrado para explorar estas preguntas:
- ¿La carga de consultas es alta? ¿El gráfico muestra aumentos repentinos o se eleva con el tiempo? Si no ves una carga alta, el problema no está relacionado con tu consulta.
- ¿Cuánto tiempo ha estado alta la carga? ¿Es alta solo ahora o lo ha sido durante mucho tiempo? Usa el selector de intervalo de tiempo para seleccionar varios períodos a fin de averiguar cuánto tiempo ha durado el problema. Acerca el mapa para ver un período en el que se observan aumentos repentinos de la carga de consultas. Aléjate para ver hasta una semana del cronograma.
- ¿Qué base de datos experimenta la carga? Selecciona bases de datos diferentes en el menú desplegable Bases de datos para encontrar las bases de datos con las cargas más altas.
Filtra la carga de la base de datos
Puedes filtrar la carga de la base de datos por consultas. Si usas las estadísticas de consultas de la edición de Cloud SQL Enterprise Plus, puedes personalizar el gráfico de carga de la base de datos para desglosar los datos que se muestran con cualquiera de las siguientes dimensiones:Todas las consultas
Bases de datos
Para personalizar el gráfico de carga de la base de datos, selecciona una dimensión del menú desplegable Carga de la base de datos por tiempo de ejecución.
Consulta los principales contribuyentes a la carga de la base de datos
Para ver los principales contribuyentes a la carga de la base de datos, puedes usar la tabla Dimensiones principales por carga de la base de datos. La tabla Dimensiones principales por carga de la base de datos muestra los factores más importantes para el período y la dimensión que seleccionas en el menú desplegable del gráfico Carga de la base de datos por tiempo de ejecución. Puedes modificar el período o la dimensión para ver los principales colaboradores de una dimensión o un período diferentes.
En la tabla Dimensiones principales por carga de datos, puedes seleccionar las siguientes pestañas.
Tab | 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:
|
Bases 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.
|
Filtra por consultas
La tabla de Consultas proporciona una descripción general de las consultas que generan la mayor carga de consultas. En la tabla, se muestran todas las consultas normalizadas para el período de tiempo y las opciones seleccionadas en el panel de Estadísticas de consultas. Ordena las consultas por tiempo total de ejecución durante el período que seleccionaste.
Para ordenar la tabla, selecciona el encabezado de una columna. La tabla muestra las siguientes propiedades:
- Consulta: Es la cadena de consulta normalizada. De forma predeterminada, Estadísticas de consultas muestra solo 1,024 caracteres en la cadena de consulta.
- Base de datos: Es la base de datos en la que se ejecutó la consulta.
- Tiempo de ejecución promedio (ms): El tiempo promedio de ejecución de la consulta.
- Tiempo total de ejecución (ms): Es el tiempo total que tarda en ejecutarse la consulta.
- Cantidad de llamadas: Es la cantidad de veces que la aplicación llamó a la consulta.
- Promedio de filas mostradas: Es la cantidad promedio de filas mostradas para la consulta.
Estadísticas de consultas almacena y muestra solo las consultas normalizadas.
Inhabilita las estadísticas de consultas
Console
Para inhabilitar las estadísticas de consultas en una instancia de Cloud SQL con la consola de Google Cloud , sigue estos pasos:
-
En la consola de Google Cloud , ve a la página Instancias de Cloud SQL.
- Para abrir la página de Descripción general de una instancia, haz clic en su nombre.
- En el campo Configuración, haz clic en Editar configuración.
- En la sección Opciones de configuración, expande Estadísticas de consultas.
- Desmarca la casilla de verificación Habilitar Estadísticas de consultas.
- Haz clic en Guardar.
gcloud
Para inhabilitar las estadísticas de consultas en una instancia de Cloud SQL con gcloud
, ejecuta gcloud sql instances patch
con la marca --no-insights-config-query-insights-enabled
de la siguiente manera después de reemplazar INSTANCE_ID por el ID de la instancia.
gcloud sql instances patch INSTANCE_ID
--no-insights-config-query-insights-enabled
REST
Para inhabilitar las estadísticas de consultas en una instancia de Cloud SQL con la API de REST, llama al método instances.patch
con queryInsightsEnabled
establecido en false
de la siguiente manera.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- project-id: El ID del proyecto
- instance-id: El ID de la 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 tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id", "status": "PENDING", "user": "user@example.com", "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" }
Inhabilita las estadísticas de consultas para la edición de Cloud SQL Enterprise Plus
Para inhabilitar las estadísticas de consultas en la edición Enterprise Plus de Cloud SQL, haz lo siguiente:
-
En la consola de Google Cloud , ve a la página Instancias de Cloud SQL.
- Para abrir la página de Descripción general de una instancia, haz clic en su nombre.
- Haz clic en Edit.
- En la sección Personaliza tu instancia, expande Estadísticas de consultas.
- Desmarca la casilla de verificación Habilitar funciones de Enterprise Plus.
- Haz clic en Guardar.
¿Qué sigue?
- Blog de lanzamiento: Database observability for developers: introducing Cloud SQL Insights
- Blog: Boost your query performance troubleshooting skills with Cloud SQL Insights
- Video: Introducing Cloud SQL Insights
- Podcast: Cloud SQL Insights
- Codelab de Insights