La scalabilità automatica del pool di lettura aggiunge o rimuove automaticamente i nodi del pool di lettura nel pool di lettura in base alle esigenze del carico di lavoro della tua applicazione.
Puoi controllare la scalabilità automatica del pool di lettura limitando l'utilizzo medio della CPU nel pool di lettura o limitando il numero di connessioni client autorizzate ad accedere al pool di lettura, utilizzando una delle due metriche target:
- Utilizzo CPU medio: consente di impostare l'utilizzo medio della CPU entro cui deve operare il pool di lettura. Il pool di lettura viene scalato automaticamente in entrata o in uscita in base all'utilizzo della CPU del carico di lavoro dell'applicazione.
- Media connessioni database: consente di specificare il numero medio di connessioni al database client che devono essere gestite da ogni nodo. Il pool di lettura viene scalato automaticamente in base al numero di connessioni client.
Per applicare queste metriche target, devi anche impostare un numero minimo e massimo di nodi del pool di lettura.
Per abilitare la scalabilità automatica del pool di lettura, puoi configurare una o entrambe queste metriche di destinazione sull'istanza. Se entrambe le metriche sono attive, Cloud SQL applica il numero massimo di nodi del pool di lettura indicato da entrambe le metriche.
La tabella seguente elenca i limiti per ciascuna metrica target:
| Nome della metrica target | Limiti | Metrica pubblica correlata |
|---|---|---|
| Utilizzo CPU medio | Tra 0,1 e 0,9. | L'utilizzo medio della CPU
(cloudsql.googleapis.com/database/cpu/utilization) nei nodi del pool di lettura nel pool di lettura. |
| Connessioni medie al database |
Tra 10 e 262.142.
Nota: il valore massimo accettabile corrisponde al valore massimo impostato dal flag di database max_connections.
|
Rappresenta una media delle connessioni client al database
(cloudsql.googleapis.com/database/postgresql/num_backends)
nei nodi del pool di lettura.
Nota: quando il pool di connessioni gestito
è abilitato nell'istanza, le singole connessioni che compongono un
pool di connessioni non vengono conteggiate separatamente e incluse nella metrica AVERAGE_DB_CONNECTIONS. Se il pool di connessioni gestito è abilitato, ti consigliamo di utilizzare solo la metrica
AVERAGE_CPU_UTILIZATION per controllare la scalabilità automatica del pool di lettura.
|
Quando vengono soddisfatte le condizioni per ridimensionare il pool di lettura, le operazioni di scalabilità automatica del pool di lettura possono essere visualizzate dalla console Google Cloud . Tutte le altre operazioni sul pool di lettura e sull'istanza principale sono bloccate fino al completamento della scalabilità automatica del pool di lettura.
Caratteristiche della scalabilità automatica del pool di lettura
Si applicano le seguenti caratteristiche:
- Le operazioni di riduzione scalano solo un nodo alla volta.
- Le operazioni di scalabilità orizzontale aggiungono, in parallelo, tutti i nodi necessari.
- Per impostazione predefinita, vengono applicate sia le operazioni di scale in che di scale out. Puoi
facoltativamente bloccare le operazioni di riduzione della scalabilità disattivandole manualmente
(
disableScaleIn). - Per impostazione predefinita, viene applicato un periodo di raffreddamento di 600 secondi tra operazioni di scalabilità automatica successive del pool di lettura. È richiesto un periodo di attesa minimo di 60 secondi indipendentemente dallo scaling in o out.
- Quando imposti una metrica target, devi anche definire il numero minimo (
minNodeCount) e massimo (maxNodeCount) di nodi del pool di lettura che vuoi utilizzare. Se abiliti la scalabilità automatica su un pool di lettura esistente, le dimensioni attuali del pool di lettura devono rientrare nell'intervallo impostato.
Limitazioni
Si applicano le seguenti limitazioni:
- La scalabilità automatica del pool di lettura supporta un massimo di 10 operazioni di scalabilità automatica ogni 24 ore.
- Se vuoi creare un nuovo pool di lettura o scalare un pool di lettura esistente, devi attendere il completamento delle operazioni di creazione e scalabilità precedenti. Ciò
vale per le operazioni associate al pool di lettura e ad altri pool di lettura
associati alla stessa istanza principale. Se provi a eseguire operazioni simultanee, potresti ricevere il seguente messaggio di errore:
Operation failed because another operation was already in progress.
Prima di iniziare
Assicurati di completare tutti i passaggi preliminari obbligatori per creare un pool di lettura.
Assicurati di utilizzare
gcloudversione 544.0.0 o successive.Assicurati di utilizzare la versione del provider Terraform 7.8.0 o successive.
- Assicurati di impostare anche valori appropriati per
max_wal_sendersemax_replication_slots. Per saperne di più, consulta Caratteristiche del pool di lettura.
Crea un pool di lettura con la scalabilità automatica abilitata
Se specifichi un valore target di 0,50 per AVERAGE_CPU_UTILIZATION,
i nodi del pool di lettura verranno aggiunti o rimossi dal pool di lettura per mantenere l'utilizzo medio
della CPU nel pool di lettura pari a 0,50 o inferiore.
gcloud
Per creare un pool di lettura con la scalabilità automatica abilitata, esegui questo comando:
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
Sostituisci quanto segue:
- READ_POOL_NAME: il nome che vuoi assegnare al pool di lettura.
- MACHINE_TIER: il livello della macchina che vuoi utilizzare, ad esempio
db-perf-optimized-N-2. - NODE_COUNT: il numero di nodi del pool di lettura con cui vuoi iniziare.
- DATABASE_VERSION: la versione del database che vuoi utilizzare, ad esempio
POSTGRES_16. - PRIMARY_INSTANCE_NAME: il nome dell'istanza primaria che vuoi utilizzare.
- REGION: la regione che vuoi utilizzare, ad esempio
us-east1. - NETWORK_NAME: il nome della rete che vuoi utilizzare.
- MAX_NODE_COUNT: il numero massimo di nodi del pool di lettura che vuoi che il pool di lettura utilizzi, ad esempio
5. - MIN_NODE_COUNT: il numero minimo di nodi del pool di lettura che vuoi che il pool di lettura utilizzi, ad esempio
1. - TARGET_METRIC_1: la metrica target che vuoi utilizzare, ad esempio
la seguente:
AVERAGE_CPU_UTILIZATIONAVERAGE_DB_CONNECTIONS
- VALUE_1: il valore che vuoi assegnare alla metrica target
che hai indicato in precedenza. Ad esempio, per la metrica target
AVERAGE_CPU_UTILIZATION, potresti assegnare il valore0.50.
Terraform
Per creare un pool di lettura con la scalabilità automatica abilitata, utilizza una risorsa Terraform.
L'esempio seguente include le risorse per l'istanza principale e il pool di lettura.
Applica le modifiche
Per applicare la configurazione di Terraform in un progetto Google Cloud , completa i passaggi descritti nelle sezioni seguenti.
Prepara Cloud Shell
- Avvia Cloud Shell.
-
Imposta il progetto Google Cloud predefinito in cui vuoi applicare le configurazioni Terraform.
Devi eseguire questo comando una sola volta per progetto e puoi eseguirlo in qualsiasi directory.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
Le variabili di ambiente vengono sostituite se imposti valori espliciti nel file di configurazione Terraform.
Preparare la directory
Ogni file di configurazione Terraform deve avere la propria directory (chiamata anche modulo radice).
-
In Cloud Shell, crea una directory e un nuovo file al suo interno. Il nome file deve avere l'estensione
.tf, ad esempiomain.tf. In questo tutorial, il file viene denominatomain.tf.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
Se stai seguendo un tutorial, puoi copiare il codice campione in ogni sezione o passaggio.
Copia il codice campione nel file
main.tfappena creato.(Facoltativo) Copia il codice da GitHub. Questa operazione è consigliata quando lo snippet Terraform fa parte di una soluzione end-to-end.
- Rivedi e modifica i parametri di esempio da applicare al tuo ambiente.
- Salva le modifiche.
-
Inizializza Terraform. Devi effettuare questa operazione una sola volta per directory.
terraform init
(Facoltativo) Per utilizzare l'ultima versione del provider Google, includi l'opzione
-upgrade:terraform init -upgrade
Applica le modifiche
-
Rivedi la configurazione e verifica che le risorse che Terraform creerà o
aggiornerà corrispondano alle tue aspettative:
terraform plan
Apporta le correzioni necessarie alla configurazione.
-
Applica la configurazione Terraform eseguendo questo comando e inserendo
yesal prompt:terraform apply
Attendi che Terraform visualizzi il messaggio "Apply complete!".
- Apri il tuo Google Cloud progetto per visualizzare i risultati. Nella console Google Cloud , vai alle risorse nell'interfaccia utente per assicurarti che Terraform le abbia create o aggiornate.
Elimina le modifiche
Per eliminare le modifiche:
- Per disattivare la protezione dall'eliminazione, nel file di configurazione Terraform imposta l'argomento
deletion_protectionsufalse.deletion_protection = "false"
- Applica la configurazione Terraform aggiornata eseguendo questo comando e
inserendo
yesal prompt:terraform apply
-
Rimuovi le risorse applicate in precedenza con la configurazione Terraform eseguendo il comando seguente e inserendo
yesal prompt:terraform destroy
REST v1
Per creare un pool di lettura con la scalabilità automatica abilitata, utilizza una richiesta POST con il metodo instances:insert.
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- READ_POOL_NAME: il nome che vuoi assegnare al pool di lettura.
- REGION: la regione in cui vuoi che risieda l'istanza, ad esempio
us-central1. - PRIMARY_INSTANCE_ID: l'ID dell'istanza primaria che vuoi utilizzare.
- PROJECT_ID: l'ID del progetto in cui vuoi che si trovi il pool di lettura, ad esempio
my-project-name. - DATABASE_VERSION: la versione del database che vuoi utilizzare, ad esempio
POSTGRES_16. - MACHINE_TIER: il livello della macchina che vuoi utilizzare, ad esempio
db-perf-optimized-N-2. - FULL_NETWORK_NAME: il nome della rete che vuoi utilizzare.
- MAX_NODE_COUNT: il numero massimo di nodi del pool di lettura che vuoi che il pool di lettura utilizzi, ad esempio
10. - MIN_NODE_COUNT: il numero minimo di nodi del pool di lettura che vuoi che il pool di lettura utilizzi, ad esempio
2. - TARGET_METRIC_1: la metrica target che vuoi utilizzare, ad esempio
AVERAGE_CPU_UTILIZATIONoAVERAGE_DB_CONNECTIONS. Devi definire almeno una delle due metriche disponibili. - VALUE_1: il valore che vuoi assegnare alla metrica target
che hai indicato in precedenza. Ad esempio, per la metrica target
AVERAGE_CPU_UTILIZATION, potresti assegnare il valore0.50. - NODE_COUNT: il numero di nodi del pool di lettura con cui vuoi iniziare, ad esempio
3.
Metodo HTTP e URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances
Corpo JSON della richiesta:
{
"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
}
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/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
Per creare un pool di lettura con la scalabilità automatica abilitata, utilizza una richiesta POST con il metodo instances:insert.
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- READ_POOL_NAME: il nome che vuoi assegnare al pool di lettura.
- REGION: la regione in cui vuoi che risieda l'istanza, ad esempio
us-central1. - PRIMARY_INSTANCE_ID: l'ID dell'istanza primaria che vuoi utilizzare.
- PROJECT_ID: l'ID del progetto in cui vuoi che si trovi il pool di lettura, ad esempio
my-project-name. - DATABASE_VERSION: la versione del database che vuoi utilizzare, ad esempio
POSTGRES_16. - MACHINE_TIER: il livello della macchina che vuoi utilizzare, ad esempio
db-perf-optimized-N-2. - FULL_NETWORK_NAME: il nome della rete che vuoi utilizzare.
- MAX_NODE_COUNT: il numero massimo di nodi del pool di lettura che vuoi che il pool di lettura utilizzi, ad esempio
10. - MIN_NODE_COUNT: il numero minimo di nodi del pool di lettura che vuoi che il pool di lettura utilizzi, ad esempio
2. - TARGET_METRIC_1: la metrica target che vuoi utilizzare, ad esempio
le seguenti:
AVERAGE_CPU_UTILIZATIONAVERAGE_DB_CONNECTIONS
- VALUE_1: il valore che vuoi assegnare alla metrica target
che hai indicato in precedenza. In questo esempio, per la metrica target
AVERAGE_CPU_UTILIZATION, assegna il valore0.50. - NODE_COUNT: il numero di nodi del pool di lettura con cui vuoi iniziare, ad esempio
3.
Metodo HTTP e URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances
Corpo JSON della richiesta:
{
"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
}
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/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"
}
Abilitare la scalabilità automatica del pool di lettura su un pool di lettura esistente
Se hai già creato un pool di lettura, puoi abilitare la scalabilità automatica indicando la configurazione di scalabilità automatica che vuoi utilizzare.
Ad esempio, se specifichi un valore target di 50 per
AVERAGE_DB_CONNECTIONS, i nodi verranno aggiunti o rimossi dal
pool di lettura per mantenere le connessioni medie al database nel pool pari a 50 o meno.
gcloud
Per abilitare il pool di lettura con scalabilità automatica su un pool di lettura esistente, esegui il seguente comando.
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
Sostituisci quanto segue:
- INSTANCE_NAME: il nome dell'istanza associata al pool di lettura che vuoi modificare.
- MAX_NODE_COUNT: il numero massimo di nodi del pool di lettura che vuoi che il pool di lettura utilizzi, ad esempio
10. - MIN_NODE_COUNT: il numero minimo di nodi del pool di lettura che vuoi che il pool di lettura utilizzi, ad esempio
2. - COOLDOWN_SECONDS_SCALE_OUT: (Facoltativo) il periodo di raffreddamento o di attesa in
secondi tra la creazione o l'eliminazione dei nodi del pool di lettura, ad esempio
180. È richiesto un periodo di attesa minimo di 60 secondi. Il valore predefinito è 600 secondi. - COOLDOWN_SECONDS_SCALE_IN: (Facoltativo) il periodo di raffreddamento o di attesa in
secondi tra la creazione o l'eliminazione dei nodi del pool di lettura, ad esempio
180. È richiesto un periodo di attesa minimo di 60 secondi. Il valore predefinito è 600 secondi. - TARGET_METRIC_1: la metrica target che vuoi utilizzare, ad esempio
le seguenti:
AVERAGE_CPU_UTILIZATIONAVERAGE_DB_CONNECTIONS
- VALUE_1: il valore che vuoi assegnare alla metrica target
che hai indicato in precedenza. In questo esempio, per la metrica target
AVERAGE_DB_CONNECTIONS, assegna il valore50.
REST v1
Per abilitare un pool di lettura esistente con scalabilità automatica, utilizza il metodo PATCH.
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- PROJECT_ID: l'ID o il numero di progetto del progetto Google Cloud che contiene l'istanza.
- INSTANCE_ID: l'ID dell'istanza associata al pool di lettura.
- MAX_NODE_COUNT: il numero massimo di nodi del pool di lettura che vuoi che il pool di lettura utilizzi, ad esempio
10. - MIN_NODE_COUNT: il numero minimo di nodi del pool di lettura che vuoi che il pool di lettura utilizzi, ad esempio
2. - COOLDOWN_SECONDS: (Facoltativo) il periodo di raffreddamento o di attesa in
secondi tra la creazione o l'eliminazione dei nodi del pool di lettura, ad esempio
180. - SCALE_IN_DISABLED: (Facoltativo) consente di disattivare
il comportamento di riduzione del pool di lettura. Per disattivare la riduzione delle istanze del pool di lettura, imposta il valore su
true. - TARGET_METRIC_1: la metrica target che vuoi utilizzare, ad esempio
le seguenti:
AVERAGE_CPU_UTILIZATIONAVERAGE_DB_CONNECTIONS
- VALUE_1: il valore che vuoi assegnare alla metrica target
che hai indicato in precedenza. In questo esempio, per la metrica target
AVERAGE_DB_CONNECTIONS, assegna il valore50.
Metodo HTTP e URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID
Corpo JSON della richiesta:
{
"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
}
]
}
}
}
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": "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
Per abilitare un pool di lettura esistente con scalabilità automatica, utilizza il metodo PATCH.
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- PROJECT_ID: l'ID o il numero di progetto del progetto Google Cloud che contiene l'istanza.
- INSTANCE_ID: l'ID dell'istanza associata al pool di lettura.
- MAX_NODE_COUNT: il numero massimo di nodi del pool di lettura che vuoi che il pool di lettura utilizzi, ad esempio
10. - MIN_NODE_COUNT: il numero minimo di nodi del pool di lettura che vuoi che il pool di lettura utilizzi, ad esempio
2. - COOLDOWN_SECONDS: (Facoltativo) il periodo di raffreddamento o di attesa in
secondi tra la creazione o l'eliminazione dei nodi del pool di lettura, ad esempio
180. - SCALE_IN_DISABLED: (Facoltativo) consente di disattivare
il comportamento di riduzione del pool di lettura. Per disattivare la riduzione delle istanze del pool di lettura, imposta il valore su
true. - TARGET_METRIC_1: la metrica target che vuoi utilizzare, ad esempio
le seguenti:
AVERAGE_CPU_UTILIZATIONAVERAGE_DB_CONNECTIONS
- VALUE_1: il valore che vuoi assegnare alla metrica target
che hai indicato in precedenza. In questo esempio, per la metrica target
AVERAGE_DB_CONNECTIONS, assegna il valore50.
Metodo HTTP e URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID
Corpo JSON della richiesta:
{
"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
}
]
}
}
}
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": "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"
}
Disabilita la scalabilità automatica del pool di lettura su un pool di lettura
Per disattivare lo scalabilità automatica del pool di lettura:
gcloud
Per disattivare la scalabilità automatica del pool di lettura, esegui questo comando.
gcloud sql instances patch INSTANCE_NAME --no-auto-scale-enabled
Sostituisci quanto segue:
- INSTANCE_NAME: il nome dell'istanza associata al pool di lettura che vuoi modificare.
REST v1
Per disattivare la scalabilità automatica del pool di lettura, utilizza il metodo PATCH.
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- PROJECT_ID: l'ID o il numero di progetto del progetto Google Cloud che contiene l'istanza.
- INSTANCE_ID: l'ID dell'istanza associata al pool di lettura.
Metodo HTTP e URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID
Corpo JSON della richiesta:
{
"settings":{
"readPoolAutoScaleConfig":{
"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": "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
Per disattivare la scalabilità automatica del pool di lettura, utilizza il metodo PATCH.
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- PROJECT_ID: l'ID o il numero di progetto del progetto Google Cloud che contiene l'istanza.
- INSTANCE_ID: l'ID dell'istanza associata al pool di lettura.
Metodo HTTP e URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID
Corpo JSON della richiesta:
{
"settings":{
"readPoolAutoScaleConfig":{
"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": "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"
}
Visualizza metriche
Utilizza approfondimenti sul sistema per visualizzare le metriche pertinenti per il tuo pool di lettura.
Per AVERAGE_CPU_UTILIZATION, consulta il grafico della metrica chiave Utilizzo CPU.
Per AVERAGE_DB_CONNECTIONS, consulta il grafico delle metriche chiave
Connessioni per database.
Monitora le operazioni di scalabilità automatica del pool di lettura
Quando vengono soddisfatte le condizioni per attivare un evento di scalabilità automatica del pool di lettura, viene eseguita un'operazione UPDATE sull'istanza. Puoi visualizzare questa operazione dalla console Google Cloud .
Le operazioni di scalabilità automatica del pool di lettura possono richiedere 10 minuti o più per essere applicate all'istanza. Le connessioni esistenti non verranno trasferite ai nodi del pool di lettura appena aggiunto, il che significa che solo le nuove connessioni saranno interessate dalla scalabilità automatica del pool di lettura.
Mentre l'operazione di scalabilità automatica è in esecuzione sul pool di lettura, devi attendere che termini prima di eseguire altri aggiornamenti sul pool di lettura o sull'istanza principale. Se provi a eseguire richieste simultanee, potresti ricevere il seguente messaggio di errore:
Operation failed because another operation was already in progress.
Puoi esaminare l'istanza del pool di lettura e vedere la modifica del conteggio dei nodi:
gcloud sql instances describe READ_POOL_NAME | grep nodeCount
Sostituisci quanto segue:
- READ_POOL_NAME: il nome del pool di lettura per cui vuoi ottenere informazioni.
Audit log degli eventi di sistema
Puoi anche visualizzare il messaggio del log di controllo Evento di sistema associato al metodo cloudsql.instances.readPoolAutoScale, che contiene il conteggio dei nodi precedente e quello nuovo.