Leistungserfassung konfigurieren

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:

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_4 oder MYSQL_8_0_37 Wenn Sie keine Datenbankversion angeben, wird die Standarddatenbankversion MYSQL_8_0 verwendet.
  • 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 zwischen 20 und 86400. Das Zeitintervall in Sekunden zwischen den Messwertprüfungen. Beispiel: 30, 60, 100. Der Standardwert ist 30.
  • probe-threshold=PROBES: Die Anzahl der aufeinanderfolgenden Male, die ein Grenzwert überschritten werden muss, um eine Leistungserfassung auszulösen. Der gültige Bereich liegt zwischen 1 und 20. Der Standardwert ist 3.

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 gleich 10 sein. Wenn nichts festgelegt ist, richtet sich der Standardwert nach der Größe der Instanz. Der Standardwert ist MIN(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 als 0 sein. Der Standardwert ist 900.
  • transaction-duration-threshold=SECONDS: Die Dauer einer nicht committeten Transaktion in Sekunden, bevor die Transaktion erfasst und in ein Leistungserfassungsprotokoll aufgenommen wird. Beispiele: 300, 600 Der Mindestwert beträgt 60. Standardwert ist 3600.

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_4 oder MYSQL_8_0_37 Wenn Sie keine Datenbankversion angeben, wird die Standarddatenbankversion MYSQL_8_0 verwendet.
  • REGION: Die Region.
  • MACHINE_TYPE: Ihr Maschinentyp.
  • EDITION_TYPE: Ihre Cloud SQL-Version
  • PROBING_INTERVAL_SECONDS: Eine Ganzzahl zwischen 20 und 86400. Das Zeitintervall in Sekunden zwischen den Messwertprüfungen. Der Standardwert ist 30.
  • PROBE_THRESHOLD: Die Anzahl der aufeinanderfolgenden Male, die ein Grenzwert überschritten werden muss, um eine Leistungserfassung auszulösen. Der gültige Bereich liegt zwischen 1 und 20. Der Standardwert ist 3.
  • 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 gleich 10 sein. Wenn nichts festgelegt ist, richtet sich der Standardwert nach der Größe der Instanz. Der Standardwert ist MIN(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 0 sein. Der Standardwert ist 900.
  • TRANSACTION_DURATION_THRESHOLD: Die Dauer einer nicht committeten Transaktion in Sekunden, bevor die Transaktion erfasst und in ein Leistungsprotokoll aufgenommen wird. Beispiele: 300, 600 Der Mindestwert beträgt 60. Standardwert ist 3600.

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 true gesetzt, um die Leistungserfassung für Ihre Instanz zu aktivieren.
  • PROBING_INTERVAL_SECONDS: Eine Ganzzahl zwischen 20 und 86400. Das Zeitintervall in Sekunden zwischen den Messwertprüfungen. Der Standardwert ist 30.
  • PROBE_THRESHOLD: Die Anzahl der aufeinanderfolgenden Male, die ein Grenzwert überschritten werden muss, um eine Leistungserfassung auszulösen. Der gültige Bereich liegt zwischen 1 und 20. Der Standardwert ist 3.
  • 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 gleich 10 sein. Wenn nichts festgelegt ist, richtet sich der Standardwert nach der Größe der Instanz. Der Standardwert ist MIN(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 0 sein. Der Standardwert ist 900.
  • TRANSACTION_DURATION_THRESHOLD: Die Dauer einer nicht committeten Transaktion in Sekunden, bevor die Transaktion erfasst und in ein Leistungsprotokoll aufgenommen wird. Beispiele: 300, 600 Der Mindestwert beträgt 60. Standardwert ist 3600.

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_4 oder MYSQL_8_0_37 Wenn Sie keine Datenbankversion angeben, wird die Standarddatenbankversion MYSQL_8_0 verwendet.
  • REGION: Die Region.
  • MACHINE_TYPE: Ihr Maschinentyp.
  • EDITION_TYPE: Ihre Cloud SQL-Version
  • PROBING_INTERVAL_SECONDS: Eine Ganzzahl zwischen 20 und 86400. Das Zeitintervall in Sekunden zwischen den Messwertprüfungen. Der Standardwert ist 30.
  • PROBE_THRESHOLD: Die Anzahl der aufeinanderfolgenden Male, die ein Grenzwert überschritten werden muss, um eine Leistungserfassung auszulösen. Der gültige Bereich liegt zwischen 1 und 20. Der Standardwert ist 3.
  • 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 gleich 10 sein. Wenn nichts festgelegt ist, richtet sich der Standardwert nach der Größe der Instanz. Der Standardwert ist MIN(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 0 sein. Der Standardwert ist 900.
  • TRANSACTION_DURATION_THRESHOLD: Die Dauer einer nicht committeten Transaktion in Sekunden, bevor die Transaktion erfasst und in ein Leistungsprotokoll aufgenommen wird. Beispiele: 300, 600 Der Mindestwert beträgt 60. Der Standardwert ist 3600.

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 true gesetzt, um die Leistungserfassung für Ihre Instanz zu aktivieren.
  • PROBING_INTERVAL_SECONDS: Eine Ganzzahl zwischen 20 und 86400. Das Zeitintervall in Sekunden zwischen den Messwertprüfungen. Der Standardwert ist 30.
  • PROBE_THRESHOLD: Die Anzahl der aufeinanderfolgenden Male, die ein Grenzwert überschritten werden muss, um eine Leistungserfassung auszulösen. Der gültige Bereich liegt zwischen 1 und 20. Der Standardwert ist 3.
  • 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 gleich 10 sein. Wenn nichts festgelegt ist, richtet sich der Standardwert nach der Größe der Instanz. Der Standardwert ist MIN(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 0 sein. Der Standardwert ist 900.
  • TRANSACTION_DURATION_THRESHOLD: Die Dauer einer nicht committeten Transaktion in Sekunden, bevor die Transaktion erfasst und in ein Leistungsprotokoll aufgenommen wird. Beispiele: 300, 600 Der Mindestwert beträgt 60. Standardwert ist 3600.

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

Nächste Schritte