La captura de rendimiento te permite diagnosticar problemas transitorios con tu base de datos, ya que captura métricas detalladas de tu instancia cuando el rendimiento se degrada. Para usar la captura de rendimiento, habilítala en tu instancia y configura los umbrales que activan las instantáneas detalladas basadas en métricas de tu instancia de Cloud SQL.
Antes de comenzar
Para usar la captura de rendimiento, debes habilitar las estadísticas de consultas para tu instancia.
Roles obligatorios
Para obtener los permisos que necesitas para crear una instancia y habilitar la captura del rendimiento, pídele a tu administrador que te otorgue los siguientes roles de IAM en el proyecto:
-
Administrador de Cloud SQL (
roles/cloudsql.admin) -
Visualizador de Compute (
roles/compute.viewer)
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
También puedes obtener los permisos necesarios a través de roles personalizados o cualquier otro rol predefinido.
Habilita y configura la captura del rendimiento
Puedes habilitar la captura de rendimiento cuando creas o actualizas tu instancia de Cloud SQL.
gcloud
Crea y configura una instancia
Para habilitar la captura del rendimiento cuando crees tu instancia de Cloud SQL, ejecuta el siguiente comando:
gcloud beta sql instances create INSTANCE_NAME \ --database-version=DATABASE_VERSION \ --region=REGION \ --tier=TIER \ --edition=EDITION_TYPE \ --performance-capture-config="enabled=true,PROBE_CONFIGURATION,PERFORMANCE_CAPTURE_THRESHOLDS"
Reemplaza lo siguiente:
- INSTANCE_NAME: El nombre de tu instancia
- DATABASE_VERSION: la versión de la base de datos.
Por ejemplo:
MYSQL_8_4oMYSQL_8_0_37. Si no especificas una versión de la base de datos, la versión predeterminada esMYSQL_8_0. - REGION: la región
- TIER: tu tipo de máquina.
- EDITION_TYPE: Tu edición de Cloud SQL
Para la marca performance-capture-config, incluye enabled=true. En la misma definición de la marca, puedes especificar configuraciones opcionales para PROBE_CONFIGURATION y para PERFORMANCE_CAPTURE_THRESHOLDS, o bien puedes especificarlas más adelante actualizando la instancia.
Por ejemplo:
gcloud beta sql instances create my-instance \ --database-version=MYSQL_8_0 \ --edition=ENTERPRISE_PLUS \ --tier=db-perf-optimized-N-4 \ --region=us-west1 \ --performance-capture-config="enabled=true,probing-interval-seconds=30,probe-threshold=5,running-threads-threshold=10,transaction-duration-threshold=300"
Actualiza una instancia existente
Para habilitar la captura del rendimiento en una instancia de Cloud SQL existente, ejecuta el siguiente comando:
gcloud beta sql instances patch INSTANCE_NAME \ --performance-capture-config="enabled=true,PROBE_CONFIGURATION,PERFORMANCE_CAPTURE_THRESHOLDS"
Para la marca performance-capture-config, incluye enabled=true.
Para la misma marca, puedes especificar configuraciones opcionales para PROBE_CONFIGURATION y para PERFORMANCE_CAPTURE_THRESHOLDS.
También puedes usar el comando gcloud beta sql instances patch para actualizar los valores de configuración del umbral para la captura del rendimiento en una instancia existente.
Configura el intervalo de sondeo y los sondeos consecutivos de las métricas de rendimiento
Puedes reemplazar PROBE_CONFIGURATION por uno o ambos de los siguientes parámetros de configuración de la marca. Si no configuras las marcas, el agente de Monitoring usará el valor predeterminado.
probing-interval-seconds=SECONDS: Es un número entero entre20y86400. Es el intervalo de tiempo, en segundos, entre los sondeos de métricas. Por ejemplo,30,60,100. El valor predeterminado es30.probe-threshold=PROBES: Es la cantidad de veces consecutivas que se debe superar un umbral para activar una captura del rendimiento. El rango válido es de1a20. El valor predeterminado es3.
Configura los umbrales de captura del rendimiento
Puedes reemplazar PERFORMANCE_CAPTURE_THRESHOLDS con uno o más de los siguientes parámetros de configuración de marcas. Si no estableces valores para las marcas, el agente de supervisión usará los valores predeterminados para los umbrales.
running-threads-threshold=THREADS: Para las instancias principales, es la cantidad mínima de subprocesos activos que se consideran por encima del umbral. Por ejemplo,10Debe ser mayor o igual que10. Si no se configura, el valor predeterminado se basa en el tamaño de la instancia. El valor predeterminado esMIN(600, cpuCount * 20).seconds-behind-source-threshold=SECONDS: Para las réplicas de lectura, es el rezago de replicación mínimo, en segundos, que se considera que supera el umbral. Debe ser mayor que0. El valor predeterminado es900.transaction-duration-threshold=SECONDS: Es la duración, en segundos, de una transacción no confirmada antes de que se haga un seguimiento de la transacción y se incluya en un registro de captura de rendimiento. Por ejemplo:300,600. El valor mínimo es60. La cantidad predeterminada es3600.
REST v1
Crea y configura una instancia
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: el ID de tu proyecto
- INSTANCE_ID: el ID de tu instancia.
- DATABASE_VERSION: la versión de la base de datos.
Por ejemplo:
MYSQL_8_4oMYSQL_8_0_37. Si no especificas una versión de la base de datos, la versión predeterminada esMYSQL_8_0. - REGION: la región
- MACHINE_TYPE: tu tipo de máquina.
- EDITION_TYPE: Tu edición de Cloud SQL
- PROBING_INTERVAL_SECONDS: Es un número entero entre
20y86400. Es el intervalo de tiempo, en segundos, entre los sondeos de métricas. El valor predeterminado es30. - PROBE_THRESHOLD: Es la cantidad de veces consecutivas que se debe superar un umbral para activar una captura del rendimiento. El rango válido es de
1a20. El valor predeterminado es3. - RUNNING_THREADS_THRESHOLD: Para las instancias principales, es la cantidad mínima de hilos activos que se consideran por encima del umbral. Por ejemplo,
10Debe ser mayor o igual que10. Si no se configura, el valor predeterminado se basa en el tamaño de la instancia. El valor predeterminado esMIN(600, cpuCount * 20). - SECONDS_BEHIND_SOURCE_THRESHOLD: En el caso de las réplicas de lectura, es el rezago de replicación mínimo, en segundos, que se considera que supera el umbral. Debe ser mayor que
0. El valor predeterminado es900. - TRANSACTION_DURATION_THRESHOLD: Es la duración, en segundos, de una transacción no confirmada antes de que se haga un seguimiento de la transacción y se incluya en un registro de captura de rendimiento.
Por ejemplo:
300,600. El valor mínimo es60. La cantidad predeterminada es3600.
Método HTTP y URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances
Cuerpo JSON de la solicitud:
{
"name": "INSTANCE_ID",
"region": "REGION",
"databaseVersion": "DATABASE_VERSION",
"settings": {
"tier": "MACHINE_TYPE",
"edition": "EDITION_TYPE"
},
"performanceCaptureConfig": {
"enabled": true,
"probingIntervalSeconds": PROBING_INTERVAL_SECONDS,
"probeThreshold": PROBE_THRESHOLD,
"runningThreadsThreshold": RUNNING_THREADS_THRESHOLD,
"secondsBehindSourceThreshold": SECONDS_BEHIND_SOURCE_THRESHOLD,
"transactionDurationThreshold": TRANSACTION_DURATION_THRESHOLD
}
}
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/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2025-11-10T22:19:33.735Z",
"operationType": "CREATE",
"name": "OPERATION_ID",
"targetId": "INSTANCE_ID",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
"targetProject": "PROJECT_ID"
}
Actualiza una instancia existente
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PERFORMANCE_CAPTURE_ENABLE: Se establece en
truepara habilitar la captura del rendimiento de tu instancia. - PROBING_INTERVAL_SECONDS: Es un número entero entre
20y86400. Es el intervalo de tiempo, en segundos, entre los sondeos de métricas. El valor predeterminado es30. - PROBE_THRESHOLD: Es la cantidad de veces consecutivas que se debe superar un umbral para activar una captura del rendimiento. El rango válido es de
1a20. El valor predeterminado es3. - RUNNING_THREADS_THRESHOLD: Para las instancias principales, es la cantidad mínima de hilos activos que se consideran por encima del umbral. Por ejemplo,
10Debe ser mayor o igual que10. Si no se configura, el valor predeterminado se basa en el tamaño de la instancia. El valor predeterminado esMIN(600, cpuCount * 20). - SECONDS_BEHIND_SOURCE_THRESHOLD: En el caso de las réplicas de lectura, es el rezago de replicación mínimo, en segundos, que se considera que supera el umbral. Debe ser mayor que
0. El valor predeterminado es900. - TRANSACTION_DURATION_THRESHOLD: Es la duración, en segundos, de una transacción no confirmada antes de que se haga un seguimiento de la transacción y se incluya en un registro de captura de rendimiento.
Por ejemplo:
300,600. El valor mínimo es60. La cantidad predeterminada es3600.
Método HTTP y URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID
Cuerpo JSON de la solicitud:
{
"performanceCaptureConfig": {
"enabled": PERFORMANCE_CAPTURE_ENABLE,
"probingIntervalSeconds": PROBING_INTERVAL_SECONDS,
"probeThreshold": PROBE_THRESHOLD,
"runningThreadsThreshold": RUNNING_THREADS_THRESHOLD,
"secondsBehindSourceThreshold": SECONDS_BEHIND_SOURCE_THRESHOLD,
"transactionDurationThreshold": TRANSACTION_DURATION_THRESHOLD
},
}
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/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2025-11-10T22:19:33.735Z",
"operationType": "UPDATE",
"name": "OPERATION_ID",
"targetId": "INSTANCE_ID",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
"targetProject": "PROJECT_ID"
}
REST v1beta4
Crea y configura una instancia
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: el ID de tu proyecto
- INSTANCE_ID: el ID de tu instancia.
- DATABASE_VERSION: la versión de la base de datos.
Por ejemplo:
MYSQL_8_4oMYSQL_8_0_37. Si no especificas una versión de la base de datos, la versión predeterminada esMYSQL_8_0. - REGION: la región
- MACHINE_TYPE: tu tipo de máquina.
- EDITION_TYPE: Tu edición de Cloud SQL
- PROBING_INTERVAL_SECONDS: Es un número entero entre
20y86400. Es el intervalo de tiempo, en segundos, entre los sondeos de métricas. El valor predeterminado es30. - PROBE_THRESHOLD: Es la cantidad de veces consecutivas que se debe superar un umbral para activar una captura del rendimiento. El rango válido es de
1a20. El valor predeterminado es3. - RUNNING_THREADS_THRESHOLD: Para las instancias principales, es la cantidad mínima de hilos activos que se consideran por encima del umbral. Por ejemplo,
10Debe ser mayor o igual que10. Si no se configura, el valor predeterminado se basa en el tamaño de la instancia. El valor predeterminado esMIN(600, cpuCount * 20). - SECONDS_BEHIND_SOURCE_THRESHOLD: En el caso de las réplicas de lectura, es el rezago de replicación mínimo, en segundos, que se considera que supera el umbral. Debe ser mayor que
0. El valor predeterminado es900. - TRANSACTION_DURATION_THRESHOLD: Es la duración, en segundos, de una transacción no confirmada antes de que se haga un seguimiento de la transacción y se incluya en un registro de captura de rendimiento.
Por ejemplo:
300,600. El valor mínimo es60. El valor predeterminado es3600.
Método HTTP y URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances
Cuerpo JSON de la solicitud:
{
"name": "INSTANCE_ID",
"region": "REGION",
"databaseVersion": "DATABASE_VERSION",
"settings": {
"tier": "MACHINE_TYPE",
"edition": "EDITION_TYPE",
},
"performanceCaptureConfig": {
"enabled": true,
"probingIntervalSeconds": PROBING_INTERVAL_SECONDS,
"probeThreshold": PROBE_THRESHOLD,
"runningThreadsThreshold": RUNNING_THREADS_THRESHOLD,
"secondsBehindSourceThreshold": SECONDS_BEHIND_SOURCE_THRESHOLD,
"transactionDurationThreshold": TRANSACTION_DURATION_THRESHOLD
},
}
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": "2025-11-10T22:19:33.735Z",
"operationType": "CREATE",
"name": "OPERATION_ID",
"targetId": "INSTANCE_ID",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
"targetProject": "PROJECT_ID"
}
Actualiza una instancia existente
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PERFORMANCE_CAPTURE_ENABLE: Se establece en
truepara habilitar la captura del rendimiento de tu instancia. - PROBING_INTERVAL_SECONDS: Es un número entero entre
20y86400. Es el intervalo de tiempo, en segundos, entre los sondeos de métricas. El valor predeterminado es30. - PROBE_THRESHOLD: Es la cantidad de veces consecutivas que se debe superar un umbral para activar una captura del rendimiento. El rango válido es de
1a20. El valor predeterminado es3. - RUNNING_THREADS_THRESHOLD: Para las instancias principales, es la cantidad mínima de hilos activos que se consideran por encima del umbral. Por ejemplo,
10. Debe ser mayor o igual que10. Si no se configura, el valor predeterminado se basa en el tamaño de la instancia. El valor predeterminado esMIN(600, cpuCount * 20). - SECONDS_BEHIND_SOURCE_THRESHOLD: En el caso de las réplicas de lectura, es el rezago de replicación mínimo, en segundos, que se considera que supera el umbral. Debe ser mayor que
0. El valor predeterminado es900. - TRANSACTION_DURATION_THRESHOLD: Es la duración, en segundos, de una transacción no confirmada antes de que se haga un seguimiento de la transacción y se incluya en un registro de captura de rendimiento.
Por ejemplo:
300,600. El valor mínimo es60. La cantidad predeterminada es3600.
Método HTTP y URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID
Cuerpo JSON de la solicitud:
{
"performanceCaptureConfig": {
"enabled": PERFORMANCE_CAPTURE_ENABLE,
"probingIntervalSeconds": PROBING_INTERVAL_SECONDS,
"probeThreshold": PROBE_THRESHOLD,
"runningThreadsThreshold": RUNNING_THREADS_THRESHOLD,
"secondsBehindSourceThreshold": SECONDS_BEHIND_SOURCE_THRESHOLD,
"transactionDurationThreshold": TRANSACTION_DURATION_THRESHOLD
},
}
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": "2025-11-10T22:19:33.735Z",
"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 la captura de rendimiento
Para inhabilitar la captura del rendimiento, usa el siguiente comando.
gcloud
gcloud beta sql instances patch INSTANCE_NAME \ --performance-capture-config="enabled=false"
Reemplaza INSTANCE_NAME por el nombre de la instancia en la que deseas inhabilitar la captura del rendimiento.
REST v1
Método HTTP y URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID
Cuerpo JSON de la solicitud:
{
"performanceCaptureConfig": {
"enabled": 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/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "INSERT_TIME",
"operationType": "UPDATE",
"name": "OPERATION_ID",
"targetId": "INSTANCE_ID",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
"targetProject": "PROJECT_ID"
}
REST v1beta4
Método HTTP y URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID
Cuerpo JSON de la solicitud:
{
"performanceCaptureConfig": {
"enabled": 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": "2025-11-10T22:19:33.735Z",
"operationType": "UPDATE",
"name": "OPERATION_ID",
"targetId": "INSTANCE_ID",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
"targetProject": "PROJECT_ID"
}