Mit Leistungserfassung können Sie vorübergehende Probleme mit Ihrer Datenbank diagnostizieren, indem Sie detaillierte Messwerte für Ihre Instanz erfassen, wenn die Leistung beeinträchtigt ist. Wenn Sie die Leistungserfassung verwenden möchten, aktivieren Sie sie für Ihre Instanz und konfigurieren Sie die Grenzwerte, die die detaillierten Snapshot-Erfassungen Ihrer Cloud SQL-Instanz auslösen.
Hinweise
Wenn Sie die Leistungserfassung verwenden möchten, müssen Sie Abfragestatistiken für Ihre Instanz aktivieren.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für das Projekt zuzuweisen, damit Sie die nötigen Berechtigungen zum Erstellen einer Instanz und zum Aktivieren der Leistungserfassung haben:
-
Cloud SQL-Administrator (
roles/cloudsql.admin) -
Compute-Betrachter (
roles/compute.viewer)
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
Leistungserfassung aktivieren und konfigurieren
Sie können die Leistungserfassung aktivieren, wenn Sie Ihre Cloud SQL-Instanz erstellen oder aktualisieren.
gcloud
Instanz erstellen und konfigurieren
Führen Sie den folgenden Befehl aus, um die Leistungserfassung beim Erstellen Ihrer Cloud SQL-Instanz zu aktivieren:
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"
Ersetzen Sie Folgendes:
- INSTANCE_NAME: Ihr Instanzname
- DATABASE_VERSION: Die Datenbankversion.
Beispiel:
MYSQL_8_4oderMYSQL_8_0_37Wenn Sie keine Datenbankversion angeben, wird die StandarddatenbankversionMYSQL_8_0verwendet. - REGION: Die Region.
- TIER: Ihr Maschinentyp.
- EDITION_TYPE: Ihre Cloud SQL-Version
Fügen Sie für das Flag performance-capture-config enabled=true ein. In derselben Flag-Definition können Sie optionale Konfigurationen für PROBE_CONFIGURATION und für PERFORMANCE_CAPTURE_THRESHOLDS angeben. Alternativ können Sie sie später durch Aktualisieren der Instanz festlegen.
Beispiel:
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"
Vorhandene Instanz aktualisieren
Führen Sie den folgenden Befehl aus, um die Leistungserfassung für eine vorhandene Cloud SQL-Instanz zu aktivieren:
gcloud beta sql instances patch INSTANCE_NAME \ --performance-capture-config="enabled=true,PROBE_CONFIGURATION,PERFORMANCE_CAPTURE_THRESHOLDS"
Fügen Sie für das Flag performance-capture-config enabled=true ein.
Für dasselbe Flag können Sie optionale Konfigurationen für PROBE_CONFIGURATION und für PERFORMANCE_CAPTURE_THRESHOLDS angeben.
Sie können auch den Befehl gcloud beta sql instances patch verwenden, um die Schwellenwertkonfigurationswerte für die Leistungserfassung für eine vorhandene Instanz zu aktualisieren.
Sondierungsintervall und aufeinanderfolgende Sondierungen von Leistungsmesswerten konfigurieren
Sie können PROBE_CONFIGURATION durch eine oder beide der folgenden Flageinstellungen ersetzen. Wenn Sie die Flags nicht festlegen, verwendet der Monitoring-Agent den Standardwert.
probing-interval-seconds=SECONDS: Eine Ganzzahl zwischen20und86400. Das Zeitintervall in Sekunden zwischen den Messwertprüfungen. Beispiel:30,60,100. Der Standardwert ist30.probe-threshold=PROBES: Die Anzahl der aufeinanderfolgenden Male, die ein Grenzwert überschritten werden muss, um eine Leistungserfassung auszulösen. Der gültige Bereich liegt zwischen1und20. Der Standardwert ist3.
Grenzwerte für die Leistungserfassung konfigurieren
Sie können PERFORMANCE_CAPTURE_THRESHOLDS durch eine oder mehrere der folgenden Flageinstellungen ersetzen. Wenn Sie keine Werte für die Flags festlegen, verwendet der Monitoring-Agent die Standardwerte für die Grenzwerte.
running-threads-threshold=THREADS: Für primäre Instanzen die Mindestanzahl aktiver Threads, die als über dem Schwellenwert liegend betrachtet werden. Beispiel:10. Muss größer oder gleich10sein. Wenn nichts festgelegt ist, richtet sich der Standardwert nach der Größe der Instanz. Der Standardwert istMIN(600, cpuCount * 20).seconds-behind-source-threshold=SECONDS: Für Lesereplikate die minimale Replikationsverzögerung in Sekunden, die als Überschreitung des Schwellenwerts gilt. Muss größer als0sein. Der Standardwert ist900.transaction-duration-threshold=SECONDS: Die Dauer einer nicht committeten Transaktion in Sekunden, bevor die Transaktion erfasst und in ein Leistungserfassungsprotokoll aufgenommen wird. Beispiele:300,600Der Mindestwert beträgt60. Standardwert ist3600.
REST Version 1
Instanz erstellen und konfigurieren
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: Ihre Projekt-ID.
- INSTANCE_ID: Ihre Instanz-ID.
- DATABASE_VERSION: Die Datenbankversion.
Beispiel:
MYSQL_8_4oderMYSQL_8_0_37Wenn Sie keine Datenbankversion angeben, wird die StandarddatenbankversionMYSQL_8_0verwendet. - REGION: Die Region.
- MACHINE_TYPE: Ihr Maschinentyp.
- EDITION_TYPE: Ihre Cloud SQL-Version
- PROBING_INTERVAL_SECONDS: Eine Ganzzahl zwischen
20und86400. Das Zeitintervall in Sekunden zwischen den Messwertprüfungen. Der Standardwert ist30. - PROBE_THRESHOLD: Die Anzahl der aufeinanderfolgenden Male, die ein Grenzwert überschritten werden muss, um eine Leistungserfassung auszulösen. Der gültige Bereich liegt zwischen
1und20. Der Standardwert ist3. - RUNNING_THREADS_THRESHOLD: Für primäre Instanzen die Mindestanzahl aktiver Threads, die als über dem Schwellenwert liegend betrachtet werden. Beispiel:
10. Muss größer oder gleich10sein. Wenn nichts festgelegt ist, richtet sich der Standardwert nach der Größe der Instanz. Der Standardwert istMIN(600, cpuCount * 20). - SECONDS_BEHIND_SOURCE_THRESHOLD: Für Lesereplikate die minimale Replikationsverzögerung in Sekunden, die als Überschreitung des Schwellenwerts gilt. Muss größer als
0sein. Der Standardwert ist900. - TRANSACTION_DURATION_THRESHOLD: Die Dauer einer nicht committeten Transaktion in Sekunden, bevor die Transaktion erfasst und in ein Leistungsprotokoll aufgenommen wird.
Beispiele:
300,600Der Mindestwert beträgt60. Standardwert ist3600.
HTTP-Methode und URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances
JSON-Text anfordern:
{
"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
}
}
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{
"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"
}
Vorhandene Instanz aktualisieren
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PERFORMANCE_CAPTURE_ENABLE: Auf
truegesetzt, um die Leistungserfassung für Ihre Instanz zu aktivieren. - PROBING_INTERVAL_SECONDS: Eine Ganzzahl zwischen
20und86400. Das Zeitintervall in Sekunden zwischen den Messwertprüfungen. Der Standardwert ist30. - PROBE_THRESHOLD: Die Anzahl der aufeinanderfolgenden Male, die ein Grenzwert überschritten werden muss, um eine Leistungserfassung auszulösen. Der gültige Bereich liegt zwischen
1und20. Der Standardwert ist3. - RUNNING_THREADS_THRESHOLD: Für primäre Instanzen die Mindestanzahl aktiver Threads, die als über dem Schwellenwert liegend betrachtet werden. Beispiel:
10. Muss größer oder gleich10sein. Wenn nichts festgelegt ist, richtet sich der Standardwert nach der Größe der Instanz. Der Standardwert istMIN(600, cpuCount * 20). - SECONDS_BEHIND_SOURCE_THRESHOLD: Für Lesereplikate die minimale Replikationsverzögerung in Sekunden, die als Überschreitung des Schwellenwerts gilt. Muss größer als
0sein. Der Standardwert ist900. - TRANSACTION_DURATION_THRESHOLD: Die Dauer einer nicht committeten Transaktion in Sekunden, bevor die Transaktion erfasst und in ein Leistungsprotokoll aufgenommen wird.
Beispiele:
300,600Der Mindestwert beträgt60. Standardwert ist3600.
HTTP-Methode und URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID
JSON-Text anfordern:
{
"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
},
}
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten in etwa folgende JSON-Antwort erhalten:
{
"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
Instanz erstellen und konfigurieren
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: Ihre Projekt-ID.
- INSTANCE_ID: Ihre Instanz-ID.
- DATABASE_VERSION: Die Datenbankversion.
Beispiel:
MYSQL_8_4oderMYSQL_8_0_37Wenn Sie keine Datenbankversion angeben, wird die StandarddatenbankversionMYSQL_8_0verwendet. - REGION: Die Region.
- MACHINE_TYPE: Ihr Maschinentyp.
- EDITION_TYPE: Ihre Cloud SQL-Version
- PROBING_INTERVAL_SECONDS: Eine Ganzzahl zwischen
20und86400. Das Zeitintervall in Sekunden zwischen den Messwertprüfungen. Der Standardwert ist30. - PROBE_THRESHOLD: Die Anzahl der aufeinanderfolgenden Male, die ein Grenzwert überschritten werden muss, um eine Leistungserfassung auszulösen. Der gültige Bereich liegt zwischen
1und20. Der Standardwert ist3. - RUNNING_THREADS_THRESHOLD: Für primäre Instanzen die Mindestanzahl aktiver Threads, die als über dem Schwellenwert liegend betrachtet werden. Beispiel:
10. Muss größer oder gleich10sein. Wenn nichts festgelegt ist, richtet sich der Standardwert nach der Größe der Instanz. Der Standardwert istMIN(600, cpuCount * 20). - SECONDS_BEHIND_SOURCE_THRESHOLD: Für Lesereplikate die minimale Replikationsverzögerung in Sekunden, die als Überschreitung des Schwellenwerts gilt. Muss größer als
0sein. Der Standardwert ist900. - TRANSACTION_DURATION_THRESHOLD: Die Dauer einer nicht committeten Transaktion in Sekunden, bevor die Transaktion erfasst und in ein Leistungsprotokoll aufgenommen wird.
Beispiele:
300,600Der Mindestwert beträgt60. Der Standardwert ist3600.
HTTP-Methode und URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances
JSON-Text anfordern:
{
"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
},
}
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{
"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"
}
Vorhandene Instanz aktualisieren
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PERFORMANCE_CAPTURE_ENABLE: Auf
truegesetzt, um die Leistungserfassung für Ihre Instanz zu aktivieren. - PROBING_INTERVAL_SECONDS: Eine Ganzzahl zwischen
20und86400. Das Zeitintervall in Sekunden zwischen den Messwertprüfungen. Der Standardwert ist30. - PROBE_THRESHOLD: Die Anzahl der aufeinanderfolgenden Male, die ein Grenzwert überschritten werden muss, um eine Leistungserfassung auszulösen. Der gültige Bereich liegt zwischen
1und20. Der Standardwert ist3. - RUNNING_THREADS_THRESHOLD: Für primäre Instanzen die Mindestanzahl aktiver Threads, die als über dem Schwellenwert liegend betrachtet werden. Beispiel:
10. Muss größer oder gleich10sein. Wenn nichts festgelegt ist, richtet sich der Standardwert nach der Größe der Instanz. Der Standardwert istMIN(600, cpuCount * 20). - SECONDS_BEHIND_SOURCE_THRESHOLD: Für Lesereplikate die minimale Replikationsverzögerung in Sekunden, die als Überschreitung des Schwellenwerts gilt. Muss größer als
0sein. Der Standardwert ist900. - TRANSACTION_DURATION_THRESHOLD: Die Dauer einer nicht committeten Transaktion in Sekunden, bevor die Transaktion erfasst und in ein Leistungsprotokoll aufgenommen wird.
Beispiele:
300,600Der Mindestwert beträgt60. Standardwert ist3600.
HTTP-Methode und URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID
JSON-Text anfordern:
{
"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
},
}
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{
"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"
}
Leistungserfassung deaktivieren
Verwenden Sie den folgenden Befehl, um die Leistungserfassung zu deaktivieren.
gcloud
gcloud beta sql instances patch INSTANCE_NAME \ --performance-capture-config="enabled=false"
Ersetzen Sie INSTANCE_NAME durch den Namen der Instanz, für die Sie die Leistungserfassung deaktivieren möchten.
REST Version 1
HTTP-Methode und URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID
JSON-Text anfordern:
{
"performanceCaptureConfig": {
"enabled": false
}
}
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten in etwa folgende JSON-Antwort erhalten:
{
"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
HTTP-Methode und URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID
JSON-Text anfordern:
{
"performanceCaptureConfig": {
"enabled": false
}
}
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{
"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"
}