Acquisizione delle prestazioni ti consente di diagnosticare problemi temporanei del database acquisendo metriche dettagliate per la tua istanza quando le prestazioni sono ridotte. Per utilizzare l'acquisizione delle prestazioni, attivala per la tua istanza e configura le soglie che attivano gli snapshot dettagliati basati sulle metriche della tua istanza Cloud SQL.
Prima di iniziare
Per utilizzare l'acquisizione delle prestazioni, devi abilitare Query Insights per la tua istanza.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per creare un'istanza e attivare l'acquisizione delle prestazioni, chiedi all'amministratore di concederti i seguenti ruoli IAM nel progetto:
-
Amministratore Cloud SQL (
roles/cloudsql.admin) -
Compute Viewer (
roles/compute.viewer)
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
Attivare e configurare l'acquisizione del rendimento
Puoi abilitare l'acquisizione delle prestazioni quando crei o aggiorni l'istanza Cloud SQL.
gcloud
Crea e configura un'istanza
Per abilitare l'acquisizione delle prestazioni quando crei l'istanza Cloud SQL, esegui questo 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"
Sostituisci quanto segue:
- INSTANCE_NAME: il nome dell'istanza
- DATABASE_VERSION: la versione del database.
Ad esempio:
MYSQL_8_4oMYSQL_8_0_37. Se non specifichi una versione del database, la versione predefinita èMYSQL_8_0. - REGION: la regione
- TIER: il tipo di macchina
- EDITION_TYPE: la tua versione di Cloud SQL
Per il flag performance-capture-config, includi enabled=true. Nella stessa definizione del flag, puoi specificare configurazioni facoltative per PROBE_CONFIGURATION e per PERFORMANCE_CAPTURE_THRESHOLDS oppure puoi specificarle in un secondo momento aggiornando l'istanza.
Ad esempio:
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"
Aggiornare un'istanza esistente
Per abilitare l'acquisizione delle prestazioni per un'istanza Cloud SQL esistente, esegui questo comando:
gcloud beta sql instances patch INSTANCE_NAME \ --performance-capture-config="enabled=true,PROBE_CONFIGURATION,PERFORMANCE_CAPTURE_THRESHOLDS"
Per il flag performance-capture-config, includi enabled=true.
Per lo stesso flag, puoi specificare configurazioni facoltative
per PROBE_CONFIGURATION e
per PERFORMANCE_CAPTURE_THRESHOLDS.
Puoi anche utilizzare il comando gcloud beta sql instances patch
per aggiornare i valori di configurazione della soglia per l'acquisizione delle prestazioni su un'istanza esistente.
Configurare l'intervallo di probing e i probe consecutivi delle metriche di rendimento
Puoi sostituire PROBE_CONFIGURATION con una o entrambe le seguenti impostazioni dei flag. Se non imposti i flag, l'agente di monitoraggio utilizza il valore predefinito.
probing-interval-seconds=SECONDS: un numero intero compreso tra20e86400. L'intervallo di tempo, in secondi, tra i probe delle metriche. Ad esempio,30,60,100. Il valore predefinito è30.probe-threshold=PROBES: il numero di volte consecutive in cui una soglia deve essere superata per attivare l'acquisizione del rendimento. L'intervallo valido è compreso tra1e20. Il valore predefinito è3.
Configurare le soglie di acquisizione delle prestazioni
Puoi sostituire PERFORMANCE_CAPTURE_THRESHOLDS con una o più delle seguenti impostazioni dei flag. Se non imposti i valori per i flag, l'agente di monitoraggio utilizza i valori predefiniti per le soglie.
running-threads-threshold=THREADS: per le istanze principali, il numero minimo di thread attivi considerati al di sopra della soglia. Ad esempio,10. Deve essere maggiore o uguale a10. Se non viene impostato, il valore predefinito si basa sulle dimensioni dell'istanza. Il valore predefinito èMIN(600, cpuCount * 20).seconds-behind-source-threshold=SECONDS: per le repliche di lettura, il ritardo di replica minimo, in secondi, considerato superiore alla soglia. Deve essere maggiore di0. Il valore predefinito è900.transaction-duration-threshold=SECONDS: la durata, in secondi, di una transazione non eseguita prima che venga monitorata e inclusa in un log di acquisizione delle prestazioni. Ad esempio,300,600. Il valore minimo è60. Il valore predefinito è3600.
REST v1
Crea e configura un'istanza
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- PROJECT_ID: il tuo ID progetto
- INSTANCE_ID: l'ID istanza
- DATABASE_VERSION: la versione del database.
Ad esempio:
MYSQL_8_4oMYSQL_8_0_37. Se non specifichi una versione del database, la versione predefinita èMYSQL_8_0. - REGION: la regione
- MACHINE_TYPE: il tipo di macchina
- EDITION_TYPE: la tua versione di Cloud SQL
- PROBING_INTERVAL_SECONDS: un numero intero compreso tra
20e86400. L'intervallo di tempo, in secondi, tra i probe delle metriche. Il valore predefinito è30. - PROBE_THRESHOLD: il numero di volte consecutive in cui una soglia deve essere superata per
attivare un'acquisizione del rendimento. L'intervallo valido è compreso tra
1e20. Il valore predefinito è3. - RUNNING_THREADS_THRESHOLD: per le istanze principali, il numero minimo di
thread attivi considerati al di sopra della soglia. Ad esempio,
10. Deve essere maggiore o uguale a10. Se non viene impostato, il valore predefinito si basa sulle dimensioni dell'istanza. Il valore predefinito èMIN(600, cpuCount * 20). - SECONDS_BEHIND_SOURCE_THRESHOLD: per le repliche di lettura, il ritardo di replica minimo, in
secondi, considerato superiore alla soglia. Deve essere maggiore di
0. Il valore predefinito è900. - TRANSACTION_DURATION_THRESHOLD: la durata, in secondi, di una transazione non eseguita
prima che venga monitorata e inclusa in un log di acquisizione del rendimento.
Ad esempio,
300,600. Il valore minimo è60. Il valore predefinito è3600.
Metodo HTTP e URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances
Corpo JSON della richiesta:
{
"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
}
}
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{
"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"
}
Aggiornare un'istanza esistente
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- PERFORMANCE_CAPTURE_ENABLE: impostato su
trueper abilitare l'acquisizione delle prestazioni per l'istanza. - PROBING_INTERVAL_SECONDS: un numero intero compreso tra
20e86400. L'intervallo di tempo, in secondi, tra i probe delle metriche. Il valore predefinito è30. - PROBE_THRESHOLD: il numero di volte consecutive in cui una soglia deve essere superata per
attivare un'acquisizione del rendimento. L'intervallo valido è compreso tra
1e20. Il valore predefinito è3. - RUNNING_THREADS_THRESHOLD: per le istanze principali, il numero minimo di
thread attivi considerati al di sopra della soglia. Ad esempio,
10. Deve essere maggiore o uguale a10. Se non viene impostato, il valore predefinito si basa sulle dimensioni dell'istanza. Il valore predefinito èMIN(600, cpuCount * 20). - SECONDS_BEHIND_SOURCE_THRESHOLD: per le repliche di lettura, il ritardo di replica minimo, in
secondi, considerato superiore alla soglia. Deve essere maggiore di
0. Il valore predefinito è900. - TRANSACTION_DURATION_THRESHOLD: la durata, in secondi, di una transazione non eseguita
prima che venga monitorata e inclusa in un log di acquisizione del rendimento.
Ad esempio,
300,600. Il valore minimo è60. Il valore predefinito è3600.
Metodo HTTP e URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID
Corpo JSON della richiesta:
{
"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
},
}
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{
"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 e configura un'istanza
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- PROJECT_ID: il tuo ID progetto
- INSTANCE_ID: l'ID istanza
- DATABASE_VERSION: la versione del database.
Ad esempio:
MYSQL_8_4oMYSQL_8_0_37. Se non specifichi una versione del database, la versione predefinita èMYSQL_8_0. - REGION: la regione
- MACHINE_TYPE: il tipo di macchina
- EDITION_TYPE: la tua versione di Cloud SQL
- PROBING_INTERVAL_SECONDS: un numero intero compreso tra
20e86400. L'intervallo di tempo, in secondi, tra i probe delle metriche. Il valore predefinito è30. - PROBE_THRESHOLD: il numero di volte consecutive in cui una soglia deve essere superata per
attivare un'acquisizione del rendimento. L'intervallo valido è compreso tra
1e20. Il valore predefinito è3. - RUNNING_THREADS_THRESHOLD: per le istanze principali, il numero minimo di
thread attivi considerati al di sopra della soglia. Ad esempio,
10. Deve essere maggiore o uguale a10. Se non viene impostato, il valore predefinito si basa sulle dimensioni dell'istanza. Il valore predefinito èMIN(600, cpuCount * 20). - SECONDS_BEHIND_SOURCE_THRESHOLD: per le repliche di lettura, il ritardo di replica minimo, in
secondi, considerato superiore alla soglia. Deve essere maggiore di
0. Il valore predefinito è900. - TRANSACTION_DURATION_THRESHOLD: la durata, in secondi, di una transazione non eseguita
prima che venga monitorata e inclusa in un log di acquisizione del rendimento.
Ad esempio,
300,600. Il valore minimo è60. Il valore predefinito è3600.
Metodo HTTP e URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances
Corpo JSON della richiesta:
{
"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
},
}
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{
"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"
}
Aggiornare un'istanza esistente
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- PERFORMANCE_CAPTURE_ENABLE: impostato su
trueper abilitare l'acquisizione delle prestazioni per l'istanza. - PROBING_INTERVAL_SECONDS: un numero intero compreso tra
20e86400. L'intervallo di tempo, in secondi, tra i probe delle metriche. Il valore predefinito è30. - PROBE_THRESHOLD: il numero di volte consecutive in cui una soglia deve essere superata per
attivare un'acquisizione del rendimento. L'intervallo valido è compreso tra
1e20. Il valore predefinito è3. - RUNNING_THREADS_THRESHOLD: per le istanze principali, il numero minimo di
thread attivi considerati al di sopra della soglia. Ad esempio,
10. Deve essere maggiore o uguale a10. Se non viene impostato, il valore predefinito si basa sulle dimensioni dell'istanza. Il valore predefinito èMIN(600, cpuCount * 20). - SECONDS_BEHIND_SOURCE_THRESHOLD: per le repliche di lettura, il ritardo di replica minimo, in
secondi, considerato superiore alla soglia. Deve essere maggiore di
0. Il valore predefinito è900. - TRANSACTION_DURATION_THRESHOLD: la durata, in secondi, di una transazione non eseguita
prima che venga monitorata e inclusa in un log di acquisizione del rendimento.
Ad esempio,
300,600. Il valore minimo è60. Il valore predefinito è3600.
Metodo HTTP e URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID
Corpo JSON della richiesta:
{
"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
},
}
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{
"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"
}
Disattivare l'acquisizione delle prestazioni
Per disattivare l'acquisizione delle prestazioni, utilizza il seguente comando.
gcloud
gcloud beta sql instances patch INSTANCE_NAME \ --performance-capture-config="enabled=false"
Sostituisci INSTANCE_NAME con il nome dell'istanza in cui vuoi disattivare l'acquisizione delle prestazioni.
REST v1
Metodo HTTP e URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID
Corpo JSON della richiesta:
{
"performanceCaptureConfig": {
"enabled": false
}
}
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{
"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
Metodo HTTP e URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID
Corpo JSON della richiesta:
{
"performanceCaptureConfig": {
"enabled": false
}
}
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{
"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"
}