Beim Autoscaling von Lesepools werden Lesepoolknoten 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 begrenzen oder die Anzahl der Clientverbindungen, die auf den Lesepool zugreifen dürfen, mithilfe eines von zwei Zielmesswerten begrenzen:
- Durchschnittliche CPU-Auslastung: Hier können Sie die durchschnittliche CPU-Auslastung festlegen, die der Lesepool nicht überschreiten soll. Der Lesepool wird basierend auf der CPU-Auslastung der Arbeitslast Ihrer Anwendung automatisch skaliert.
- Durchschnittliche Datenbankverbindungen: Hier können Sie die durchschnittliche Anzahl von Client-Datenbankverbindungen angeben, die von jedem Knoten bedient werden sollen. Der Lesepool wird basierend auf der Anzahl der Clientverbindungen automatisch skaliert.
Wenn Sie diese Zielmesswerte anwenden möchten, müssen Sie auch eine minimale und maximale Anzahl von Lesepoolknoten 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 Lesepoolknoten an, die von beiden Messwerten angegeben wird.
In der folgenden Tabelle sind die Limits 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) aller Lesepoolknoten im Lesepool. |
| Durchschnittliche Anzahl der Datenbankverbindungen |
Zwischen 10 und 32.767.
Hinweis: Der maximal zulässige Wert entspricht dem maximalen Wert, der durch das Datenbank-Flag max_connections festgelegt wurde.
|
Stellt einen Durchschnitt der Datenbank-Clientverbindungen (cloudsql.googleapis.com/database/network/connections) über die Lesepoolknoten im Lesepool dar.
|
Wenn die Bedingungen für die Größenänderung des Lesepools erfüllt sind, können Sie die Autoscaling-Vorgänge für den Lesepool in der Google Cloud Console aufrufen. Alle anderen Vorgänge im Lesepool und in der primären Instanz werden blockiert, bis das Autoscaling des Lesepools abgeschlossen ist.
Eigenschaften des Autoscalings für Lesepools
Es gelten die folgenden Merkmale:
- Bei Vorgängen zur horizontalen Skalierung wird jeweils nur ein Knoten entfernt.
- Bei horizontalen Skalierungsvorgängen werden parallel so viele Knoten wie nötig hinzugefügt.
- Standardmäßig werden sowohl Vorgänge zum Herunterskalieren als auch zum Hochskalieren angewendet. Sie können Vorgänge zur Verkleinerung 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. Unabhängig davon, ob Sie herunterskalieren oder hochskalieren, ist eine minimale Wartezeit von 60 Sekunden erforderlich.
- Wenn Sie einen Zielmesswert festlegen, müssen Sie auch die minimale (
minNodeCount) und maximale (maxNodeCount) Knotenanzahl für den Lesepool definieren, die Sie verwenden möchten. Wenn Sie Autoscaling für einen vorhandenen Lesepool aktivieren, muss die aktuelle Lesepoolgröße innerhalb des von Ihnen festgelegten Bereichs liegen. - Wenn Lesepoolknoten aufgrund von Replikations-Overhead oder Nicht-SQL-Server-Prozessen auf den Lesepoolknoten eine höhere CPU-Auslastung aufweisen, wird das CPU-basierte Autoscaling gedrosselt.
Maximale Anzahl von Lesepoolknoten pro primärer Instanz
Sie können pro primäre Instanz maximal sieben Lesereplikate zuweisen.
Die kombinierte Anzahl von Lesereplikaten und Lesepoolknoten, die von derselben primären Instanz repliziert werden, darf sieben nicht überschreiten.
Maximale Anzahl von Lesepoolknoten pro primärer Instanz berechnen
Konzeptionell können Sie sich ein Lesereplikat als einzelnen Lesepoolknoten vorstellen.
Sie können ein Lesereplikat in einen Lesepool konvertieren und dann die Anzahl der Lesepoolknoten auf eine Zahl größer als eins ändern.
Anschließend können Sie dem Lesepool Autoscaling zuweisen, damit die Anzahl der Lesepoolknoten dynamisch an die Anforderungen der Arbeitslast angepasst wird.
Wenn das Autoscaling für einen Lesepool aktiviert ist, müssen Sie eine gültige maximale Knotenanzahl für den Lesepool angeben. Diese Anzahl darf zusammen mit der Anzahl der vorhandenen Lesereplikate, die von derselben primären Instanz repliziert werden, oder der Lesepoolknoten, die zu anderen Lesepools gehören, die von derselben primären Instanz repliziert werden, nicht mehr als sieben betragen.
Wenn eine primäre Instanz beispielsweise zwei Lesereplikate, einen Lesepool mit zwei Lesepoolknoten und einen zweiten Lesepool mit aktiviertem Autoscaling hat, darf die maximale Anzahl von Lesepoolknoten für den zweiten Lesepool nicht größer als drei sein.
Beschränkungen
Es gelten folgende Einschränkungen:
- Wenn Sie einen neuen Lesepool erstellen oder einen vorhandenen Lesepool skalieren möchten, müssen Sie warten, bis die vorherigen Erstellungs- und Skalierungsvorgänge abgeschlossen sind. Dies 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.
Hinweis
Führen Sie alle erforderlichen Voraussetzungsschritte aus, um einen Lesepool zu erstellen.
Verwenden Sie die
gcloud-Version 544.0.0 oder höher.Verwenden Sie die Terraform-Anbieterversion 7.8.0 oder höher.
Lesepool mit aktiviertem Autoscaling erstellen
Wenn Sie für AVERAGE_CPU_UTILIZATION einen Zielwert von 0,50 angeben, werden Lesepoolknoten dem Lesepool hinzugefügt oder daraus entfernt, um die durchschnittliche CPU-Auslastung im Lesepool bei maximal 0,50 zu halten.
gcloud
Führen Sie den folgenden Befehl 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 Lesepoolknoten, mit der Sie beginnen möchten.
- DATABASE_VERSION: die Datenbankversion, die Sie verwenden möchten, z. B.
SQLSERVER_2022_ENTERPRISE. - 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 Lesepoolknoten, die der Lesepool verwenden soll, z. B.
5. - MIN_NODE_COUNT: die Mindestanzahl von Lesepoolknoten, 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 zum Erstellen eines Lesepools mit aktiviertem Autoscaling eine Terraform-Ressource.
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 von 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.
SQLSERVER_2022_ENTERPRISE. - 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 Lesepoolknoten, die die Lesepoolinstanz verwenden soll, z. B.
7. Sie können pro primäre Instanz maximal sieben Lesepoolknoten zuweisen. Weitere Informationen finden Sie unter Maximale Knotenanzahl. - MIN_NODE_COUNT: die Mindestanzahl von Lesepoolknoten, 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 Lesepoolknoten, 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.
SQLSERVER_2022_ENTERPRISE. - 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 Lesepoolknoten, die die Lesepoolinstanz verwenden soll, z. B.
7. Sie können pro primäre Instanz maximal sieben Lesepoolknoten zuweisen. Weitere Informationen finden Sie unter Maximale Knotenanzahl. - MIN_NODE_COUNT: die Mindestanzahl von Lesepoolknoten, 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 wird dem Zielmesswert
AVERAGE_CPU_UTILIZATIONder Wert0.50zugewiesen. - NODE_COUNT: die Anzahl der Lesepoolknoten, 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 einen Zielwert von 50 für AVERAGE_DB_CONNECTIONS angeben, werden Knoten zum Lesepool hinzugefügt oder daraus entfernt, um die durchschnittliche Anzahl von Datenbankverbindungen im Pool bei 50 oder weniger zu halten.
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 Lesepool zugeordnet ist, den Sie ändern möchten.
- MAX_NODE_COUNT: die maximale Anzahl von Lesepoolknoten, die der Lesepool verwenden soll, z. B.
7. Sie können pro primäre Instanz maximal sieben Lesepoolknoten zuweisen. Weitere Informationen finden Sie unter Maximale Knotenanzahl. - MIN_NODE_COUNT: die Mindestanzahl von Lesepoolknoten, die der Lesepool verwenden soll, z. B.
2. - COOLDOWN_SECONDS_SCALE_OUT: Optional: die Wartezeit in Sekunden zwischen dem Erstellen oder Löschen von Lesepoolknoten, z. B.
180. Es ist eine Wartezeit von mindestens 60 Sekunden erforderlich. Der Standardwert beträgt 600 Sekunden. - COOLDOWN_SECONDS_SCALE_IN: Optional: die Wartezeit in Sekunden zwischen dem Erstellen oder Löschen von Lesepoolknoten, z. B.
180. Es ist eine Wartezeit von mindestens 60 Sekunden 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 wird dem Zielmesswert
AVERAGE_DB_CONNECTIONSder Wert50zugewiesen.
REST Version 1
Verwenden Sie die Methode PATCH, um einen vorhandenen Lesepool mit Autoscaling 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 mit dem Lesepool verknüpft ist.
- MAX_NODE_COUNT: die maximale Anzahl von Lesepoolknoten, die die Lesepoolinstanz verwenden soll, z. B.
7. Sie können pro primäre Instanz maximal sieben Lesepoolknoten zuweisen. Weitere Informationen finden Sie unter Maximale Knotenanzahl. - MIN_NODE_COUNT: die Mindestanzahl von Lesepoolknoten, die der Lesepool verwenden soll, z. B.
2. - COOLDOWN_SECONDS: Optional: die Wartezeit in Sekunden zwischen dem Erstellen oder Löschen von Lesepoolknoten, z. B.
180. - SCALE_IN_DISABLED: Optional: Ermöglicht das Deaktivieren des Verhaltens Lesepool verkleinern. Wenn Sie die Skalierung des Lesepools deaktivieren möchten, setzen Sie den Wert auf
true. - 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 wird dem Zielmesswert
AVERAGE_DB_CONNECTIONSder Wert50zugewiesen.
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 einen vorhandenen Lesepool mit Autoscaling 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 mit dem Lesepool verknüpft ist.
- MAX_NODE_COUNT: die maximale Anzahl von Lesepoolknoten, die die Lesepoolinstanz verwenden soll, z. B.
7. Sie können pro primäre Instanz maximal sieben Lesepoolknoten zuweisen. Weitere Informationen finden Sie unter Maximale Knotenanzahl. - MIN_NODE_COUNT: die Mindestanzahl von Lesepoolknoten, die der Lesepool verwenden soll, z. B.
2. - COOLDOWN_SECONDS: Optional: die Wartezeit in Sekunden zwischen dem Erstellen oder Löschen von Lesepoolknoten, z. B.
180. - SCALE_IN_DISABLED: Optional: Ermöglicht das Deaktivieren des Verhaltens Lesepool verkleinern. Wenn Sie die Skalierung des Lesepools deaktivieren möchten, setzen Sie den Wert auf
true. - 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 wird dem Zielmesswert
AVERAGE_DB_CONNECTIONSder Wert50zugewiesen.
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 in einem Lesepool deaktivieren
Führen Sie die folgenden Schritte aus, um das Autoscaling für Lesepools zu deaktivieren.
gcloud
Führen Sie den folgenden Befehl aus, um das Autoscaling für Lesepools zu deaktivieren.
gcloud sql instances patch INSTANCE_NAME --no-auto-scale-enabled
Ersetzen Sie Folgendes:
- INSTANCE_NAME: der Instanzname, der dem Lesepool zugeordnet ist, den Sie ändern möchten.
REST Version 1
Verwenden Sie die Methode PATCH, 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 mit dem Lesepool verknüpft 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 Methode PATCH, 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 mit dem Lesepool verknüpft 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
Verwenden Sie Systemstatistiken, um relevante Messwerte für Ihren Lesepool aufzurufen.
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 für den wichtigen Messwert Verbindungen insgesamt.
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 Console 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 vom Autoscaling des Lesepools betroffen sind.
Während der Autoscaling-Vorgang im Lesepool ausgeführt wird, müssen Sie warten, bis er abgeschlossen ist, bevor Sie andere Updates im Lesepool oder auf der primären Instanz ausführen können. 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 des Lesepools prüfen und sehen, wie sich die Knotenanzahl ändert:
gcloud sql instances describe READ_POOL_NAME | grep nodeCount
Ersetzen Sie Folgendes:
- READ_POOL_NAME: der Name des Lesepools, zu dem Sie Informationen abrufen möchten.
Audit-Logs zu Systemereignissen
Sie können auch den Systemereignis-Audit-Logeintrag sehen, der mit der Methode cloudsql.instances.readPoolAutoScale verknüpft ist und die alte und neue Knotenanzahl enthält.