Beim automatischen Skalieren von Lesepools werden Knoten des Lesepools im Lesepool automatisch hinzugefügt oder entfernt, je nach den Anforderungen der Arbeitslast Ihrer Anwendung.
Sie können das Autoscaling des Lesepools steuern, indem Sie entweder die durchschnittliche CPU-Auslastung im Lesepool oder die Anzahl der Clientverbindungen begrenzen, die auf den Lesepool zugreifen dürfen. Verwenden Sie dazu einen der beiden Zielmesswerte:
- Durchschnittliche CPU-Auslastung: Hiermit können Sie die durchschnittliche CPU-Auslastung festlegen, innerhalb derer der Lesepool betrieben werden soll. Die Größe des Lesepools wird automatisch an die CPU-Auslastung Ihrer Anwendung angepasst.
- Durchschnittliche Datenbankverbindungen: Hier können Sie die durchschnittliche Anzahl von Client-Datenbankverbindungen angeben, die von jedem Knoten bedient werden sollen. Der Lesepool wird automatisch hoch- oder herunterskaliert, je nach Anzahl der Clientverbindungen.
Wenn Sie diese Zielmesswerte anwenden möchten, müssen Sie auch eine Mindest- und Höchstanzahl von Knoten für den Lesepool festlegen.
Wenn Sie das Autoscaling für Lesepools aktivieren möchten, können Sie einen oder beide dieser Zielmesswerte für die Instanz konfigurieren. Wenn beide Messwerte aktiv sind, wendet Cloud SQL die maximale Anzahl von Knoten im Lesepool an, die durch beide Messwerte angegeben wird.
In der folgenden Tabelle sind die Grenzwerte für die einzelnen Zielmesswerte aufgeführt:
| Name des Zielmesswerts | Limits | Zugehöriger öffentlicher Messwert |
|---|---|---|
| Durchschnittliche CPU-Auslastung | Zwischen 0,1 und 0,9. | Die durchschnittliche CPU-Auslastung (cloudsql.googleapis.com/database/cpu/utilization) der Knoten im Lesepool. |
| Durchschnittliche Anzahl der Datenbankverbindungen |
Zwischen 10 und 262.142.
Hinweis: Der maximal zulässige Wert entspricht dem Maximalwert, der durch das Datenbankflag max_connections festgelegt wird.
|
Stellt einen Durchschnitt der Datenbank-Clientverbindungen (cloudsql.googleapis.com/database/postgresql/num_backends) für die Lesepoolknoten im Lesepool dar.
Hinweis: Wenn Verwalteter Verbindungspool für die Instanz aktiviert ist, werden die einzelnen Verbindungen, aus denen ein Verbindungspool besteht, nicht separat gezählt und in die Messwert AVERAGE_DB_CONNECTIONS aufgenommen. Wenn Managed Connection Pooling aktiviert ist, empfehlen wir, nur den Messwert AVERAGE_CPU_UTILIZATION zu verwenden, um das Autoscaling des Lesepools zu steuern.
|
Wenn die Bedingungen für die Größenanpassung des Lesepools erfüllt sind, können Autoscaling-Vorgänge für den Lesepool in der Google Cloud -Konsole aufgerufen werden. Alle anderen Vorgänge für den Lesepool und die primäre Instanz werden blockiert, bis die automatische Skalierung des Lesepools abgeschlossen ist.
Autoscaling-Merkmale von Lesepools
Es gelten die folgenden Merkmale:
- Bei Vorgängen zum Herunterskalieren wird jeweils nur ein Knoten entfernt.
- Bei Scale-out-Vorgängen werden parallel so viele Knoten wie nötig hinzugefügt.
- Standardmäßig werden sowohl Herunter- als auch Hochskalierungsvorgänge angewendet. Sie können Scale-in-Vorgänge optional blockieren, indem Sie sie manuell deaktivieren (
disableScaleIn). - Standardmäßig wird zwischen aufeinanderfolgenden Autoscaling-Vorgängen für Lesepools eine Wartezeit von 600 Sekunden angewendet. Eine Mindestwartezeit von 60 Sekunden ist erforderlich, unabhängig davon, ob hoch- oder herunterskaliert wird.
- Wenn Sie einen Zielmesswert festlegen, müssen Sie auch die minimale (
minNodeCount) und maximale (maxNodeCount) Anzahl von Knoten im Lesepool angeben, die Sie verwenden möchten. Wenn Sie Autoscaling für einen vorhandenen Lesepool aktivieren, muss die aktuelle Größe des Lesepools innerhalb des von Ihnen festgelegten Bereichs liegen.
Beschränkungen
Es gelten folgende Einschränkungen:
- Die automatische Skalierung von Lesepools unterstützt maximal 10 Vorgänge zur automatischen Skalierung alle 24 Stunden.
- Wenn Sie einen neuen Lesepool erstellen oder einen vorhandenen Lesepool skalieren möchten, müssen Sie warten, bis vorherige Erstellungs- und Skalierungsvorgänge abgeschlossen sind. Das gilt für Vorgänge, die mit dem Lesepool verknüpft sind, sowie für andere Lesepools, die mit derselben primären Instanz verknüpft sind. Wenn Sie versuchen, gleichzeitige Vorgänge auszuführen, wird möglicherweise die folgende Fehlermeldung angezeigt:
Operation failed because another operation was already in progress.
Hinweise
Achten Sie darauf, dass Sie alle erforderlichen Vorbereitungsschritte ausführen, um einen Lesepool zu erstellen.
Sie benötigen
gcloud-Version 544.0.0 oder höher.Achten Sie darauf, dass Sie die Terraform-Anbieterversion 7.8.0 oder höher verwenden.
- Achten Sie darauf, dass Sie auch geeignete Werte für
max_wal_sendersundmax_replication_slotsfestlegen. Weitere Informationen finden Sie unter Pooleigenschaften lesen.
Lesepool mit aktiviertem Autoscaling erstellen
Wenn Sie für AVERAGE_CPU_UTILIZATION den Zielwert 0,50 angeben, werden dem Lesepool Lesepoolknoten hinzugefügt oder daraus entfernt, um die durchschnittliche CPU-Auslastung im Lesepool bei 0,50 oder weniger zu halten.
gcloud
Führen Sie Folgendes aus, um einen Lesepool mit aktiviertem Autoscaling zu erstellen:
gcloud sql instances create READ_POOL_NAME \ --tier=MACHINE_TIER --edition=ENTERPRISE_PLUS \ --instance-type=READ_POOL_INSTANCE --node-count=NODE_COUNT \ --database-version=DATABASE_VERSION \ --master-instance-name=PRIMARY_INSTANCE_NAME \ --region=REGION --network=NETWORK_NAME \ --no-assign-ip \ --auto-scale-enabled \ --auto-scale-max-node-count=MAX_NODE_COUNT \ --auto-scale-min-node-count=MIN_NODE_COUNT \ --auto-scale-target-metrics=TARGET_METRIC_1=VALUE_1
Ersetzen Sie Folgendes:
- READ_POOL_NAME: Der Name, den Sie dem Lesepool zuweisen möchten.
- MACHINE_TIER: die Maschinenstufe, die Sie verwenden möchten, z. B.
db-perf-optimized-N-2. - NODE_COUNT: Die Anzahl der Knoten im Lesepool, mit der Sie beginnen möchten.
- DATABASE_VERSION: Die Datenbankversion, die Sie verwenden möchten, z. B.
POSTGRES_16. - PRIMARY_INSTANCE_NAME: Der Name der primären Instanz, die Sie verwenden möchten.
- REGION: die Region, die Sie verwenden möchten, z. B.
us-east1. - NETWORK_NAME: Der Name des Netzwerks, das Sie verwenden möchten.
- MAX_NODE_COUNT: Die maximale Anzahl von Knoten im Lesepool, die der Lesepool verwenden soll, z. B.
5. - MIN_NODE_COUNT: Die Mindestanzahl der Knoten im Lesepool, die der Lesepool verwenden soll, z. B.
1. - TARGET_METRIC_1: Der Zielmesswert, den Sie verwenden möchten, z. B.:
AVERAGE_CPU_UTILIZATIONAVERAGE_DB_CONNECTIONS
- VALUE_1: Der Wert, den Sie dem zuvor angegebenen Zielmesswert zuweisen möchten. Für den Zielmesswert
AVERAGE_CPU_UTILIZATIONkönnen Sie beispielsweise den Wert0.50zuweisen.
Terraform
Verwenden Sie eine Terraform-Ressource, um einen Lesepool mit aktiviertem Autoscaling zu erstellen.
Das folgende Beispiel enthält Ressourcen für die primäre Instanz und den Lesepool.
Änderungen anwenden
Führen Sie die Schritte in den folgenden Abschnitten aus, um Ihre Terraform-Konfiguration auf ein Google Cloud -Projekt anzuwenden.
Cloud Shell vorbereiten
- Rufen Sie Cloud Shell auf.
-
Legen Sie das Standardprojekt Google Cloud fest, auf das Sie Ihre Terraform-Konfigurationen anwenden möchten.
Sie müssen diesen Befehl nur einmal pro Projekt und in jedem beliebigen Verzeichnis ausführen.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
Umgebungsvariablen werden überschrieben, wenn Sie in der Terraform-Konfigurationsdatei explizite Werte festlegen.
Verzeichnis vorbereiten
Jede Terraform-Konfigurationsdatei muss ein eigenes Verzeichnis haben (auch als Stammmodul bezeichnet).
-
Erstellen Sie in Cloud Shell ein Verzeichnis und eine neue Datei in diesem Verzeichnis. Der Dateiname muss die Erweiterung
.tfhaben, z. B.main.tf. In dieser Anleitung wird die Datei alsmain.tfbezeichnet.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
Wenn Sie einer Anleitung folgen, können Sie den Beispielcode in jedem Abschnitt oder Schritt kopieren.
Kopieren Sie den Beispielcode in das neu erstellte
main.tf.Kopieren Sie optional den Code aus GitHub. Dies wird empfohlen, wenn das Terraform-Snippet Teil einer End-to-End-Lösung ist.
- Prüfen und ändern Sie die Beispielparameter, die auf Ihre Umgebung angewendet werden sollen.
- Speichern Sie die Änderungen.
-
Initialisieren Sie Terraform. Dies ist nur einmal für jedes Verzeichnis erforderlich.
terraform init
Fügen Sie optional die Option
-upgradeein, um die neueste Google-Anbieterversion zu verwenden:terraform init -upgrade
Änderungen anwenden
-
Prüfen Sie die Konfiguration und prüfen Sie, ob die Ressourcen, die Terraform erstellen oder aktualisieren wird, Ihren Erwartungen entsprechen:
terraform plan
Korrigieren Sie die Konfiguration nach Bedarf.
-
Wenden Sie die Terraform-Konfiguration an. Führen Sie dazu den folgenden Befehl aus und geben Sie
yesan der Eingabeaufforderung ein:terraform apply
Warten Sie, bis Terraform die Meldung „Apply complete“ anzeigt.
- Öffnen Sie Ihr Google Cloud Projekt, um die Ergebnisse aufzurufen. Rufen Sie in der Google Cloud Console Ihre Ressourcen in der Benutzeroberfläche auf, um sicherzustellen, dass Terraform sie erstellt oder aktualisiert hat.
Änderungen löschen
So löschen Sie das Projekt:
- Um den Löschschutz zu deaktivieren, setzen Sie in der Terraform-Konfigurationsdatei das Argument
deletion_protectionauffalse.deletion_protection = "false"
- Wenden Sie die aktualisierte Terraform-Konfiguration an. Führen Sie dazu den folgenden Befehl aus und geben Sie
yesan der Eingabeaufforderung ein:terraform apply
-
Entfernen Sie Ressourcen, die zuvor mit Ihrer Terraform-Konfiguration angewendet wurden, indem Sie den folgenden Befehl ausführen und
yesan der Eingabeaufforderung eingeben:terraform destroy
REST Version 1
Verwenden Sie zum Erstellen eines Lesepools mit aktiviertem Autoscaling eine POST-Anfrage mit der Methode instances:insert.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- READ_POOL_NAME: Der Name, den Sie dem Lesepool zuweisen möchten.
- REGION: Die Region, in der sich die Instanz befinden soll, z. B.
us-central1. - PRIMARY_INSTANCE_ID: Die ID der primären Instanz, die Sie verwenden möchten.
- PROJECT_ID: die ID des Projekts, in dem sich der Lesepool befinden soll, z. B.
my-project-name. - DATABASE_VERSION: Die Datenbankversion, die Sie verwenden möchten, z. B.
POSTGRES_16. - MACHINE_TIER: die Maschinenstufe, die Sie verwenden möchten, z. B.
db-perf-optimized-N-2. - FULL_NETWORK_NAME: Der Name des Netzwerks, das Sie verwenden möchten.
- MAX_NODE_COUNT: Die maximale Anzahl von Knoten im Lesepool, die der Lesepool verwenden soll, z. B.
10. - MIN_NODE_COUNT: Die Mindestanzahl der Knoten im Lesepool, die der Lesepool verwenden soll, z. B.
2. - TARGET_METRIC_1: Der Zielmesswert, den Sie verwenden möchten, z. B.
AVERAGE_CPU_UTILIZATIONoderAVERAGE_DB_CONNECTIONS. Sie müssen mindestens einen der beiden verfügbaren Messwerte definieren. - VALUE_1: Der Wert, den Sie dem zuvor angegebenen Zielmesswert zuweisen möchten. Für den Zielmesswert
AVERAGE_CPU_UTILIZATIONkönnen Sie beispielsweise den Wert0.50zuweisen. - NODE_COUNT: Die Anzahl der Knoten im Lesepool, mit der Sie beginnen möchten, z. B.
3.
HTTP-Methode und URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances
JSON-Text anfordern:
{
"name":"READ_POOL_NAME",
"region":"REGION",
"masterInstanceName":"PRIMARY_INSTANCE_ID",
"project":"PROJECT_ID",
"databaseVersion":"DATABASE_VERSION",
"settings":{
"tier":"MACHINE_TIER",
"edition":"ENTERPRISE_PLUS",
"ipConfiguration":{
"privateNetwork":"FULL_NETWORK_NAME",
"ipv4Enabled": false
},
"readPoolAutoScaleConfig":{
"enabled": true,
"minNodeCount": MIN_NODE_COUNT,
"maxNodeCount": MAX_NODE_COUNT,
"targetMetrics": [
{
"metric":"TARGET_METRIC_1",
"targetValue": VALUE_1
}
]
}
},
"instanceType":"READ_POOL_INSTANCE",
"nodeCount": NODE_COUNT
}
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/PRIMARY_INSTANCE_ID",
"status": "RUNNING",
"user": "user@example.com",
"insertTime": "2020-01-16T02:32:12.281Z",
"startTime": "2023-06-14T18:48:35.499Z",
"operationType": "CREATE",
"name": "OPERATION_ID",
"targetId": "PRIMARY_INSTANCE_ID",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
"targetProject": "PROJECT_ID"
}
REST v1beta4
Verwenden Sie zum Erstellen eines Lesepools mit aktiviertem Autoscaling eine POST-Anfrage mit der Methode instances:insert.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- READ_POOL_NAME: Der Name, den Sie dem Lesepool zuweisen möchten.
- REGION: Die Region, in der sich die Instanz befinden soll, z. B.
us-central1. - PRIMARY_INSTANCE_ID: Die ID der primären Instanz, die Sie verwenden möchten.
- PROJECT_ID: die ID des Projekts, in dem sich der Lesepool befinden soll, z. B.
my-project-name. - DATABASE_VERSION: Die Datenbankversion, die Sie verwenden möchten, z. B.
POSTGRES_16. - MACHINE_TIER: die Maschinenstufe, die Sie verwenden möchten, z. B.
db-perf-optimized-N-2. - FULL_NETWORK_NAME: Der Name des Netzwerks, das Sie verwenden möchten.
- MAX_NODE_COUNT: Die maximale Anzahl von Knoten im Lesepool, die der Lesepool verwenden soll, z. B.
10. - MIN_NODE_COUNT: Die Mindestanzahl der Knoten im Lesepool, die der Lesepool verwenden soll, z. B.
2. - TARGET_METRIC_1: Der Zielmesswert, den Sie verwenden möchten, z. B.:
AVERAGE_CPU_UTILIZATIONAVERAGE_DB_CONNECTIONS
- VALUE_1: Der Wert, den Sie dem zuvor angegebenen Zielmesswert zuweisen möchten. In diesem Beispiel weisen Sie dem Zielmesswert
AVERAGE_CPU_UTILIZATIONden Wert0.50zu. - NODE_COUNT: Die Anzahl der Knoten im Lesepool, mit der Sie beginnen möchten, z. B.
3.
HTTP-Methode und URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances
JSON-Text anfordern:
{
"name":"READ_POOL_NAME",
"region":"REGION",
"masterInstanceName":"PRIMARY_INSTANCE_ID",
"project":"PROJECT_ID",
"databaseVersion":"DATABASE_VERSION",
"settings":{
"tier":"MACHINE_TIER",
"edition":"ENTERPRISE_PLUS",
"ipConfiguration":{
"privateNetwork":"FULL_NETWORK_NAME",
"ipv4Enabled": false
},
"readPoolAutoScaleConfig":{
"enabled": true,
"minNodeCount": MIN_NODE_COUNT,
"maxNodeCount": MAX_NODE_COUNT,
"targetMetrics": [
{
"metric":"TARGET_METRIC_1",
"targetValue": VALUE_1
}
]
}
},
"instanceType":"READ_POOL_INSTANCE",
"nodeCount": NODE_COUNT
}
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/PRIMARTY_INSTANCE_ID",
"status": "RUNNING",
"user": "user@example.com",
"insertTime": "2020-01-16T02:32:12.281Z",
"startTime": "2023-06-14T18:48:35.499Z",
"operationType": "CREATE",
"name": "OPERATION_ID",
"targetId": "PRIMARTY_INSTANCE_ID",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
"targetProject": "PROJECT_ID"
}
Autoscaling für einen vorhandenen Lesepool aktivieren
Wenn Sie bereits einen Lesepool erstellt haben, können Sie das Autoscaling aktivieren, indem Sie die gewünschte Autoscaling-Konfiguration angeben.
Wenn Sie beispielsweise den Zielwert 50 für AVERAGE_DB_CONNECTIONS angeben, werden dem Lesepool Knoten hinzugefügt oder daraus entfernt, damit die durchschnittliche Anzahl von Datenbankverbindungen im Pool bei 50 oder weniger bleibt.
gcloud
Führen Sie den folgenden Befehl aus, um den Lesepool mit Autoscaling für einen vorhandenen Lesepool zu aktivieren.
gcloud sql instances patch INSTANCE --auto-scale-enabled --auto-scale-max-node-count=MAX_NODE_COUNT --auto-scale-min-node-count=MIN_NODE_COUNT --auto-scale-out-cooldown-seconds=COOLDOWN_SECONDS_SCALE_OUT --auto-scale-in-cooldown-seconds=COOLDOWN_SECONDS_SCALE_IN --auto-scale-target-metrics=TARGET_METRIC_1=VALUE_1
Ersetzen Sie Folgendes:
- INSTANCE_NAME: Der Instanzname, der dem zu ändernden Lesepool zugeordnet ist.
- MAX_NODE_COUNT: Die maximale Anzahl von Knoten im Lesepool, die der Lesepool verwenden soll, z. B.
10. - MIN_NODE_COUNT: Die Mindestanzahl der Knoten im Lesepool, die der Lesepool verwenden soll, z. B.
2. - COOLDOWN_SECONDS_SCALE_OUT: Optional: Die Cooldown- oder Wartezeit in Sekunden zwischen dem Erstellen oder Löschen von Knoten im Lesepool, z. B.
180. Eine Mindest-Cool-down-Zeit von 60 Sekunden ist erforderlich. Der Standardwert beträgt 600 Sekunden. - COOLDOWN_SECONDS_SCALE_IN: Optional: Die Cooldown- oder Wartezeit in Sekunden zwischen dem Erstellen oder Löschen von Knoten im Lesepool, z. B.
180. Eine Mindest-Cool-down-Zeit von 60 Sekunden ist erforderlich. Der Standardwert beträgt 600 Sekunden. - TARGET_METRIC_1: Der Zielmesswert, den Sie verwenden möchten, z. B.:
AVERAGE_CPU_UTILIZATIONAVERAGE_DB_CONNECTIONS
- VALUE_1: Der Wert, den Sie dem zuvor angegebenen Zielmesswert zuweisen möchten. In diesem Beispiel weisen Sie dem Zielmesswert
AVERAGE_DB_CONNECTIONSden Wert50zu.
REST Version 1
Verwenden Sie die PATCH-Methode, um das Autoscaling für einen vorhandenen Lesepool zu aktivieren.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: die ID oder Projektnummer des Google Cloud -Projekts, das die Instanz enthält.
- INSTANCE_ID: die ID der Instanz, die dem Lesepool zugeordnet ist.
- MAX_NODE_COUNT: Die maximale Anzahl von Knoten im Lesepool, die der Lesepool verwenden soll, z. B.
10. - MIN_NODE_COUNT: Die Mindestanzahl der Knoten im Lesepool, die der Lesepool verwenden soll, z. B.
2. - COOLDOWN_SECONDS: Optional: Die Cooldown- oder Wartezeit in Sekunden zwischen dem Erstellen oder Löschen von Knoten im Lesepool, z. B.
180. - SCALE_IN_DISABLED: Optional: Hiermit können Sie das Verhalten von Read Pool Scale In deaktivieren. Wenn Sie das Herunterskalieren des Lesepools deaktivieren möchten, legen Sie den Wert auf
truefest. - TARGET_METRIC_1: Der Zielmesswert, den Sie verwenden möchten, z. B.:
AVERAGE_CPU_UTILIZATIONAVERAGE_DB_CONNECTIONS
- VALUE_1: Der Wert, den Sie dem zuvor angegebenen Zielmesswert zuweisen möchten. In diesem Beispiel weisen Sie dem Zielmesswert
AVERAGE_DB_CONNECTIONSden Wert50zu.
HTTP-Methode und URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID
JSON-Text anfordern:
{
"settings": {
"readPoolAutoScaleConfig": {
"enabled": true,
"minNodeCount": MIN_NODE_COUNT,
"maxNodeCount": MAX_NODE_COUNT,
"scaleOutCooldownSeconds": COOLDOWN_SECONDS,
"disableScaleIn": SCALE_IN_DISABLED,
"targetMetrics": [
{
"metric": "TARGET_METRIC_1",
"targetValue": VALUE_1
}
]
}
}
}
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": "RUNNING",
"user": "user@example.com",
"insertTime": "2020-01-16T02:32:12.281Z",
"startTime": "2023-06-14T18:48:35.499Z",
"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
Verwenden Sie die Methode PATCH, um das Autoscaling für einen vorhandenen Lesepool zu aktivieren.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: die ID oder Projektnummer des Google Cloud -Projekts, das die Instanz enthält.
- INSTANCE_ID: die ID der Instanz, die dem Lesepool zugeordnet ist.
- MAX_NODE_COUNT: Die maximale Anzahl von Knoten im Lesepool, die der Lesepool verwenden soll, z. B.
10. - MIN_NODE_COUNT: Die Mindestanzahl der Knoten im Lesepool, die der Lesepool verwenden soll, z. B.
2. - COOLDOWN_SECONDS: Optional: Die Cooldown- oder Wartezeit in Sekunden zwischen dem Erstellen oder Löschen von Knoten im Lesepool, z. B.
180. - SCALE_IN_DISABLED: Optional: Hiermit können Sie das Verhalten von Read Pool Scale In deaktivieren. Wenn Sie das Herunterskalieren des Lesepools deaktivieren möchten, legen Sie den Wert auf
truefest. - TARGET_METRIC_1: Der Zielmesswert, den Sie verwenden möchten, z. B.:
AVERAGE_CPU_UTILIZATIONAVERAGE_DB_CONNECTIONS
- VALUE_1: Der Wert, den Sie dem zuvor angegebenen Zielmesswert zuweisen möchten. In diesem Beispiel weisen Sie dem Zielmesswert
AVERAGE_DB_CONNECTIONSden Wert50zu.
HTTP-Methode und URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID
JSON-Text anfordern:
{
"settings": {
"readPoolAutoScaleConfig": {
"enabled": true,
"minNodeCount": MIN_NODE_COUNT,
"maxNodeCount": MAX_NODE_COUNT,
"scaleOutCooldownSeconds": COOLDOWN_SECONDS,
"disableScaleIn": SCALE_IN_DISABLED,
"targetMetrics": [
{
"metric": "TARGET_METRIC_1",
"targetValue": VALUE_1
}
]
}
}
}
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": "RUNNING",
"user": "user@example.com",
"insertTime": "2020-01-16T02:32:12.281Z",
"startTime": "2023-06-14T18:48:35.499Z",
"operationType": "UPDATE",
"name": "OPERATION_ID",
"targetId": "INSTANCE_ID",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
"targetProject": "PROJECT_ID"
}
Autoscaling für Lesepools deaktivieren
So deaktivieren Sie das automatische Skalieren des Lesepools:
gcloud
Führen Sie den folgenden Befehl aus, um das Autoscaling für den Lesepool zu deaktivieren.
gcloud sql instances patch INSTANCE_NAME --no-auto-scale-enabled
Ersetzen Sie Folgendes:
- INSTANCE_NAME: Der Instanzname, der dem zu ändernden Lesepool zugeordnet ist.
REST Version 1
Verwenden Sie die PATCH-Methode, um das Autoscaling für Lesepools zu deaktivieren.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: die ID oder Projektnummer des Google Cloud -Projekts, das die Instanz enthält.
- INSTANCE_ID: die ID der Instanz, die dem Lesepool zugeordnet ist.
HTTP-Methode und URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID
JSON-Text anfordern:
{
"settings":{
"readPoolAutoScaleConfig":{
"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": "RUNNING",
"user": "user@example.com",
"insertTime": "2020-01-16T02:32:12.281Z",
"startTime": "2023-06-14T18:48:35.499Z",
"operationType": "CREATE",
"name": "OPERATION_ID",
"targetId": "INSTANCE_ID",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
"targetProject": "PROJECT_ID"
}
REST v1beta4
Verwenden Sie die PATCH-Methode, um das Autoscaling für Lesepools zu deaktivieren.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: die ID oder Projektnummer des Google Cloud -Projekts, das die Instanz enthält.
- INSTANCE_ID: die ID der Instanz, die dem Lesepool zugeordnet ist.
HTTP-Methode und URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID
JSON-Text anfordern:
{
"settings":{
"readPoolAutoScaleConfig":{
"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": "RUNNING",
"user": "user@example.com",
"insertTime": "2020-01-16T02:32:12.281Z",
"startTime": "2023-06-14T18:48:35.499Z",
"operationType": "CREATE",
"name": "OPERATION_ID",
"targetId": "INSTANCE_ID",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
"targetProject": "PROJECT_ID"
}
Messwerte aufrufen
Systemstatistiken enthalten relevante Messwerte für Ihren Lesepool.
Informationen zu AVERAGE_CPU_UTILIZATION finden Sie im Diagramm mit den wichtigsten Messwerten für die CPU-Auslastung.
Informationen zu AVERAGE_DB_CONNECTIONS finden Sie im Diagramm mit dem Schlüsselmesswert Verbindungen pro Datenbank.
Autoscaling-Vorgänge für Lesepools überwachen
Wenn die Bedingungen für das Auslösen eines Autoscaling-Ereignisses für den Lesepool erfüllt sind, wird ein UPDATE-Vorgang für die Instanz ausgeführt. Sie können diesen Vorgang in der Google Cloud -Konsole aufrufen.
Es kann 10 Minuten oder länger dauern, bis Autoscaling-Vorgänge für Lesepools auf die Instanz angewendet werden. Vorhandene Verbindungen werden nicht auf neu hinzugefügte Lesepoolknoten übertragen. Das bedeutet, dass nur neue Verbindungen von der automatischen Skalierung des Lesepools betroffen sind.
Während der Autoscaling-Vorgang für den Lesepool ausgeführt wird, müssen Sie warten, bis er abgeschlossen ist, bevor Sie andere Updates für den Lesepool oder die primäre Instanz ausführen. Wenn Sie versuchen, gleichzeitige Anfragen auszuführen, erhalten Sie möglicherweise die folgende Fehlermeldung:
Operation failed because another operation was already in progress.
Sie können die Instanz Ihres Lesepools untersuchen und die Änderung der Knotenzahl sehen:
gcloud sql instances describe READ_POOL_NAME | grep nodeCount
Ersetzen Sie Folgendes:
- READ_POOL_NAME: der Name des Lesepools, für den Sie Informationen abrufen möchten.
Audit-Logs zu Systemereignissen
Sie können auch die Audit-Log-Nachricht für Systemereignisse sehen, die mit der Methode cloudsql.instances.readPoolAutoScale verknüpft ist und die alte und neue Anzahl von Knoten enthält.