Cómo configurar la captura de rendimiento

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:

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_4 o MYSQL_8_0_37. Si no especificas una versión de la base de datos, la versión predeterminada es MYSQL_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 entre 20 y 86400. Es el intervalo de tiempo, en segundos, entre los sondeos de métricas. Por ejemplo, 30, 60, 100. El valor predeterminado es 30.
  • 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 de 1 a 20. El valor predeterminado es 3.

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, 10 Debe ser mayor o igual que 10. Si no se configura, el valor predeterminado se basa en el tamaño de la instancia. El valor predeterminado es MIN(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 que 0. El valor predeterminado es 900.
  • 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 es 60. La cantidad predeterminada es 3600.

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_4 o MYSQL_8_0_37. Si no especificas una versión de la base de datos, la versión predeterminada es MYSQL_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 20 y 86400. Es el intervalo de tiempo, en segundos, entre los sondeos de métricas. El valor predeterminado es 30.
  • 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 1 a 20. El valor predeterminado es 3.
  • 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 que 10. Si no se configura, el valor predeterminado se basa en el tamaño de la instancia. El valor predeterminado es MIN(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 es 900.
  • 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 es 60. La cantidad predeterminada es 3600.

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 true para habilitar la captura del rendimiento de tu instancia.
  • PROBING_INTERVAL_SECONDS: Es un número entero entre 20 y 86400. Es el intervalo de tiempo, en segundos, entre los sondeos de métricas. El valor predeterminado es 30.
  • 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 1 a 20. El valor predeterminado es 3.
  • 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 que 10. Si no se configura, el valor predeterminado se basa en el tamaño de la instancia. El valor predeterminado es MIN(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 es 900.
  • 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 es 60. La cantidad predeterminada es 3600.

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_4 o MYSQL_8_0_37. Si no especificas una versión de la base de datos, la versión predeterminada es MYSQL_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 20 y 86400. Es el intervalo de tiempo, en segundos, entre los sondeos de métricas. El valor predeterminado es 30.
  • 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 1 a 20. El valor predeterminado es 3.
  • 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 que 10. Si no se configura, el valor predeterminado se basa en el tamaño de la instancia. El valor predeterminado es MIN(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 es 900.
  • 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 es 60. El valor predeterminado es 3600.

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 true para habilitar la captura del rendimiento de tu instancia.
  • PROBING_INTERVAL_SECONDS: Es un número entero entre 20 y 86400. Es el intervalo de tiempo, en segundos, entre los sondeos de métricas. El valor predeterminado es 30.
  • 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 1 a 20. El valor predeterminado es 3.
  • 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 que 10. Si no se configura, el valor predeterminado se basa en el tamaño de la instancia. El valor predeterminado es MIN(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 es 900.
  • 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 es 60. La cantidad predeterminada es 3600.

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"
}

¿Qué sigue?