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 :
-
Administrateur Cloud SQL (
roles/cloudsql.admin) -
Lecteur Compute (
roles/compute.viewer)
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_4ouMYSQL_8_0_37. Si vous ne spécifiez pas de version de base de données, la version par défaut estMYSQL_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 entre20et86400. Intervalle de temps, en secondes, entre les vérifications des métriques. Par exemple,30,60,100. La valeur par défaut est30.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 entre1et20. La valeur par défaut est3.
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 :10La 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 estMIN(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 est900.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,300et600. La valeur minimale est de60. La valeur par défaut est3600.
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_4ouMYSQL_8_0_37. Si vous ne spécifiez pas de version de base de données, la version par défaut estMYSQL_8_0. - REGION : région
- MACHINE_TYPE : votre type de machine
- EDITION_TYPE : votre édition Cloud SQL
- PROBING_INTERVAL_SECONDS : entier compris entre
20et86400. Intervalle de temps, en secondes, entre les vérifications des métriques. La valeur par défaut est30. - 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
1et20. La valeur par défaut est3. - RUNNING_THREADS_THRESHOLD : pour les instances principales, nombre minimal de threads actifs considérés comme au-dessus du seuil. Exemple :
10La 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 estMIN(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 est900. - 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,
300et600. La valeur minimale est de60. La valeur par défaut est3600.
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
truepour activer la capture des performances pour votre instance. - PROBING_INTERVAL_SECONDS : entier compris entre
20et86400. Intervalle de temps, en secondes, entre les vérifications des métriques. La valeur par défaut est30. - 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
1et20. La valeur par défaut est3. - RUNNING_THREADS_THRESHOLD : pour les instances principales, nombre minimal de threads actifs considérés comme au-dessus du seuil. Exemple :
10La 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 estMIN(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 est900. - 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,
300et600. La valeur minimale est de60. La valeur par défaut est3600.
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_4ouMYSQL_8_0_37. Si vous ne spécifiez pas de version de base de données, la version par défaut estMYSQL_8_0. - REGION : région
- MACHINE_TYPE : votre type de machine
- EDITION_TYPE : votre édition Cloud SQL
- PROBING_INTERVAL_SECONDS : entier compris entre
20et86400. Intervalle de temps, en secondes, entre les vérifications des métriques. La valeur par défaut est30. - 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
1et20. La valeur par défaut est3. - RUNNING_THREADS_THRESHOLD : pour les instances principales, nombre minimal de threads actifs considérés comme au-dessus du seuil. Exemple :
10La 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 estMIN(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 est900. - 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,
300et600. La valeur minimale est de60. La valeur par défaut est3600.
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
truepour activer la capture des performances pour votre instance. - PROBING_INTERVAL_SECONDS : entier compris entre
20et86400. Intervalle de temps, en secondes, entre les vérifications des métriques. La valeur par défaut est30. - 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
1et20. La valeur par défaut est3. - 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 estMIN(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 est900. - 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,
300et600. La valeur minimale est de60. La valeur par défaut est3600.
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"
}