Configurer la capture des performances

La capture des performances vous permet de diagnostiquer les problèmes temporaires de votre base de données en capturant des métriques détaillées pour votre instance lorsque les performances sont dégradées. Pour utiliser la capture des performances, activez-la pour votre instance et configurez les seuils qui déclenchent les instantanés détaillés basés sur les métriques de votre instance Cloud SQL.

Avant de commencer

Pour utiliser la capture des performances, vous devez activer les insights sur les requêtes pour votre instance.

Rôles requis

Pour obtenir les autorisations nécessaires pour créer une instance et activer la capture des performances, demandez à votre administrateur de vous accorder les rôles IAM suivants sur le projet :

Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

Vous pouvez également obtenir les autorisations requises avec des rôles personnalisés ou d'autres rôles prédéfinis.

Activer et configurer la capture des performances

Vous pouvez activer la capture des performances lorsque vous créez ou mettez à jour votre instance Cloud SQL.

gcloud

Créer et configurer une instance

Pour activer la capture des performances lorsque vous créez votre instance Cloud SQL, exécutez la commande suivante :

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"

Remplacez les éléments suivants :

  • INSTANCE_NAME : nom de votre instance
  • DATABASE_VERSION : version de la base de données. Par exemple, MYSQL_8_4 ou MYSQL_8_0_37. Si vous ne spécifiez pas de version de base de données, la version par défaut est MYSQL_8_0.
  • REGION : région
  • TIER : votre type de machine
  • EDITION_TYPE : votre édition Cloud SQL

Pour l'indicateur performance-capture-config, incluez enabled=true. Dans la même définition d'indicateur, vous pouvez spécifier des configurations facultatives pour PROBE_CONFIGURATION et pour PERFORMANCE_CAPTURE_THRESHOLDS, ou vous pouvez les spécifier ultérieurement en mettant à jour l'instance.

Exemple :

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"

Mettre à jour une instance existante

Pour activer la capture des performances pour une instance Cloud SQL existante, exécutez la commande suivante :

gcloud beta sql instances patch INSTANCE_NAME \
  --performance-capture-config="enabled=true,PROBE_CONFIGURATION,PERFORMANCE_CAPTURE_THRESHOLDS"

Pour l'indicateur performance-capture-config, incluez enabled=true. Pour le même indicateur, vous pouvez spécifier des configurations facultatives pour PROBE_CONFIGURATION et pour PERFORMANCE_CAPTURE_THRESHOLDS.

Vous pouvez également utiliser la commande gcloud beta sql instances patch pour mettre à jour les valeurs de configuration du seuil de capture des performances sur une instance existante.

Configurer l'intervalle d'analyse et les analyses consécutives des métriques de performances

Vous pouvez remplacer PROBE_CONFIGURATION par un ou plusieurs des paramètres d'option suivants. Si vous ne définissez pas les indicateurs, l'agent Monitoring utilise la valeur par défaut.

  • probing-interval-seconds=SECONDS : entier compris entre 20 et 86400. Intervalle de temps, en secondes, entre les vérifications des métriques. Par exemple, 30, 60, 100. La valeur par défaut est 30.
  • probe-threshold=PROBES : nombre de fois consécutives qu'un seuil doit être dépassé pour déclencher une capture des performances. La plage de valeurs valides est comprise entre 1 et 20. La valeur par défaut est 3.

Configurer les seuils de capture des performances

Vous pouvez remplacer PERFORMANCE_CAPTURE_THRESHOLDS par un ou plusieurs des paramètres d'option suivants. Si vous ne définissez pas de valeurs pour les indicateurs, l'agent de surveillance utilise les valeurs par défaut pour les seuils.

  • running-threads-threshold=THREADS : pour les instances principales, nombre minimal de threads actifs considérés comme dépassant le seuil. Exemple :10 La valeur doit être supérieure ou égale à 10. Si elle n'est pas définie, la valeur par défaut est basée sur la taille de l'instance. La valeur par défaut est MIN(600, cpuCount * 20).
  • seconds-behind-source-threshold=SECONDS : pour les instances répliquées avec accès en lecture, le décalage de réplication minimal, en secondes, considéré comme supérieur au seuil. Doit être supérieur à 0. La valeur par défaut est 900.
  • transaction-duration-threshold=SECONDS : durée, en secondes, d'une transaction non validée avant que la transaction ne soit suivie et incluse dans un journal de capture des performances. Par exemple, 300 et 600. La valeur minimale est de 60. La valeur par défaut est 3600.

REST v1

Créer et configurer une instance

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • PROJECT_ID : ID de votre projet.
  • INSTANCE_ID : Votre ID d'instance
  • DATABASE_VERSION : version de la base de données. Par exemple, MYSQL_8_4 ou MYSQL_8_0_37. Si vous ne spécifiez pas de version de base de données, la version par défaut est MYSQL_8_0.
  • REGION : région
  • MACHINE_TYPE : votre type de machine
  • EDITION_TYPE : votre édition Cloud SQL
  • PROBING_INTERVAL_SECONDS : entier compris entre 20 et 86400. Intervalle de temps, en secondes, entre les vérifications des métriques. La valeur par défaut est 30.
  • PROBE_THRESHOLD : nombre de fois consécutives qu'un seuil doit être dépassé pour déclencher une capture des performances. La plage de valeurs valides est comprise entre 1 et 20. La valeur par défaut est 3.
  • RUNNING_THREADS_THRESHOLD : pour les instances principales, nombre minimal de threads actifs considérés comme au-dessus du seuil. Exemple :10 La valeur doit être supérieure ou égale à 10. Si elle n'est pas définie, la valeur par défaut est basée sur la taille de l'instance. La valeur par défaut est MIN(600, cpuCount * 20).
  • SECONDS_BEHIND_SOURCE_THRESHOLD : pour les instances répliquées avec accès en lecture, le délai de réplication minimal, en secondes, considéré comme supérieur au seuil. Doit être supérieur à 0. La valeur par défaut est 900.
  • TRANSACTION_DURATION_THRESHOLD : durée, en secondes, d'une transaction non validée avant que la transaction ne soit suivie et incluse dans un journal de capture des performances. Par exemple, 300 et 600. La valeur minimale est de 60. La valeur par défaut est 3600.

Méthode HTTP et URL :

POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances

Corps JSON de la requête :

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

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

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

Mettre à jour une instance existante

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • PERFORMANCE_CAPTURE_ENABLE : défini sur true pour activer la capture des performances pour votre instance.
  • PROBING_INTERVAL_SECONDS : entier compris entre 20 et 86400. Intervalle de temps, en secondes, entre les vérifications des métriques. La valeur par défaut est 30.
  • PROBE_THRESHOLD : nombre de fois consécutives qu'un seuil doit être dépassé pour déclencher une capture des performances. La plage de valeurs valides est comprise entre 1 et 20. La valeur par défaut est 3.
  • RUNNING_THREADS_THRESHOLD : pour les instances principales, nombre minimal de threads actifs considérés comme au-dessus du seuil. Exemple :10 La valeur doit être supérieure ou égale à 10. Si elle n'est pas définie, la valeur par défaut est basée sur la taille de l'instance. La valeur par défaut est MIN(600, cpuCount * 20).
  • SECONDS_BEHIND_SOURCE_THRESHOLD : pour les instances répliquées avec accès en lecture, le délai de réplication minimal, en secondes, considéré comme supérieur au seuil. Doit être supérieur à 0. La valeur par défaut est 900.
  • TRANSACTION_DURATION_THRESHOLD : durée, en secondes, d'une transaction non validée avant que la transaction ne soit suivie et incluse dans un journal de capture des performances. Par exemple, 300 et 600. La valeur minimale est de 60. La valeur par défaut est 3600.

Méthode HTTP et URL :

PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID

Corps JSON de la requête :

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

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

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

Créer et configurer une instance

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • PROJECT_ID : ID de votre projet.
  • INSTANCE_ID : Votre ID d'instance
  • DATABASE_VERSION : version de la base de données. Par exemple, MYSQL_8_4 ou MYSQL_8_0_37. Si vous ne spécifiez pas de version de base de données, la version par défaut est MYSQL_8_0.
  • REGION : région
  • MACHINE_TYPE : votre type de machine
  • EDITION_TYPE : votre édition Cloud SQL
  • PROBING_INTERVAL_SECONDS : entier compris entre 20 et 86400. Intervalle de temps, en secondes, entre les vérifications des métriques. La valeur par défaut est 30.
  • PROBE_THRESHOLD : nombre de fois consécutives qu'un seuil doit être dépassé pour déclencher une capture des performances. La plage de valeurs valides est comprise entre 1 et 20. La valeur par défaut est 3.
  • RUNNING_THREADS_THRESHOLD : pour les instances principales, nombre minimal de threads actifs considérés comme au-dessus du seuil. Exemple :10 La valeur doit être supérieure ou égale à 10. Si elle n'est pas définie, la valeur par défaut est basée sur la taille de l'instance. La valeur par défaut est MIN(600, cpuCount * 20).
  • SECONDS_BEHIND_SOURCE_THRESHOLD : pour les instances répliquées avec accès en lecture, le délai de réplication minimal, en secondes, considéré comme supérieur au seuil. Doit être supérieur à 0. La valeur par défaut est 900.
  • TRANSACTION_DURATION_THRESHOLD : durée, en secondes, d'une transaction non validée avant que la transaction ne soit suivie et incluse dans un journal de capture des performances. Par exemple, 300 et 600. La valeur minimale est de 60. La valeur par défaut est 3600.

Méthode HTTP et URL :

POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances

Corps JSON de la requête :

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

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

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

Mettre à jour une instance existante

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • PERFORMANCE_CAPTURE_ENABLE : défini sur true pour activer la capture des performances pour votre instance.
  • PROBING_INTERVAL_SECONDS : entier compris entre 20 et 86400. Intervalle de temps, en secondes, entre les vérifications des métriques. La valeur par défaut est 30.
  • PROBE_THRESHOLD : nombre de fois consécutives qu'un seuil doit être dépassé pour déclencher une capture des performances. La plage de valeurs valides est comprise entre 1 et 20. La valeur par défaut est 3.
  • RUNNING_THREADS_THRESHOLD : pour les instances principales, nombre minimal de threads actifs considérés comme au-dessus du seuil. Exemple : 10. La valeur doit être supérieure ou égale à 10. Si elle n'est pas définie, la valeur par défaut est basée sur la taille de l'instance. La valeur par défaut est MIN(600, cpuCount * 20).
  • SECONDS_BEHIND_SOURCE_THRESHOLD : pour les instances répliquées avec accès en lecture, le délai de réplication minimal, en secondes, considéré comme supérieur au seuil. Doit être supérieur à 0. La valeur par défaut est 900.
  • TRANSACTION_DURATION_THRESHOLD : durée, en secondes, d'une transaction non validée avant que la transaction ne soit suivie et incluse dans un journal de capture des performances. Par exemple, 300 et 600. La valeur minimale est de 60. La valeur par défaut est 3600.

Méthode HTTP et URL :

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID

Corps JSON de la requête :

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

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

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

Désactiver la capture des performances

Pour désactiver la capture des performances, utilisez la commande suivante.

gcloud

gcloud beta sql instances patch INSTANCE_NAME \
  --performance-capture-config="enabled=false"

Remplacez INSTANCE_NAME par le nom de l'instance sur laquelle vous souhaitez désactiver la capture des performances.

REST v1

Méthode HTTP et URL :

PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID

Corps JSON de la requête :

{
  "performanceCaptureConfig": {
     "enabled": false
  }
}

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

{
  "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éthode HTTP et URL :

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID

Corps JSON de la requête :

{
  "performanceCaptureConfig": {
     "enabled": false
  }
}

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

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

Étapes suivantes