Il motore per suggerimenti per i numeri elevati di tabelle aperte in Cloud SQL ti aiuta a rilevare le istanze
il cui numero di tabelle aperte contemporaneamente è uguale al valore di table_open_cache
. Fornisce poi
consigli su come ottimizzare queste istanze per migliorare il rendimento.
Questa pagina descrive come funziona il sistema di suggerimenti per un numero elevato di tabelle aperte e come puoi utilizzarlo.
Come funziona
MySQL è multithread e i client possono eseguire contemporaneamente una query sulla stessa tabella da più thread. Pertanto, MySQL può avere tabelle aperte in modo indipendente per ogni sessione.
Il numero di tabelle aperte contemporaneamente è gestito da table_open_cache
.
Se la cache è piena e vengono aperte altre tabelle, MySQL chiude la tabella utilizzata meno di recente. Se tutte le tabelle nella cache sono attualmente in uso, MySQL estende temporaneamente la cache e chiude le tabelle non appena non vengono più utilizzate.
Se il numero di tabelle aperte supera il valore table_open_cache
, le prestazioni del database
possono risentirne negativamente durante i carichi di lavoro intensi. Questo perché vengono creati più thread e i gestori delle tabelle
devono aprire e chiudere le tabelle con maggiore frequenza.
Il motore per suggerimenti per i numeri elevati di tabelle aperte in Cloud SQL analizza quotidianamente le metriche per il numero di tabelle aperte in un'istanza Cloud SQL MySQL. Se il numero di tabelle aperte aumenta
di 1 ogni 2 secondi o più rapidamente nelle 24 ore precedenti e il numero di tabelle aperte
è uguale o superiore al valore table_open_cache
, il sistema di suggerimenti consiglia di
modificare il flag table_open_cache
.
Prezzi
Il motore per suggerimenti per i numeri elevati di tabelle aperte in Cloud SQL si trova nel livello di prezzo Standard di Recommender.
Prima di iniziare
Prima di poter visualizzare consigli e approfondimenti, procedi nel seguente modo:
- Per ottenere le autorizzazioni per visualizzare e utilizzare approfondimenti e consigli,
assicurati di disporre dei ruoli richiesti.
Tasks Ruoli Visualizza i suggerimenti Uno di questi ruoli: recommender.cloudsqlViewer
ocloudsql.viewer
.Applica consigli Uno di questi ruoli: recommender.cloudsqlAdmin
,cloudsql.editor
ocloudsql.admin
. -
Enable the Recommender API.
Elencare i suggerimenti per il rendimento delle istanze
Puoi elencare i consigli sul rendimento delle istanze utilizzando la console Trusted Cloud , gcloud CLI
o l'API Recommender.
I suggerimenti per migliorare il rendimento delle istanze vengono visualizzati solo se hai istanze che si stanno avvicinando ai limiti delle soglie di rendimento.
Console
Per elencare i consigli sul rendimento delle istanze utilizzando la consoleTrusted Cloud , segui questi passaggi:
Vai alla pagina Istanze Cloud SQL.
Fai clic su Visualizza tutto nel banner dei consigli per aumentare la cache delle tabelle aperte.
In alternativa, segui questi passaggi:
Vai all'hub dei suggerimenti. Vedi anche Introduzione all'hub dei suggerimenti.
Nella scheda Migliora le prestazioni dell'istanza Cloud SQL, fai clic su Visualizza tutto.
Seleziona le istanze con il consiglio Aumenta la cache delle tabelle aperte.
Interfaccia a riga di comando gcloud
Per elencare i consigli per migliorare il rendimento delle istanze utilizzando gcloud CLI
, esegui il comando
gcloud recommender recommendations list
come segue:
gcloud recommender recommendations list \ --project=PROJECT_ID \ --location=LOCATION \ --recommender=google.cloudsql.instance.PerformanceRecommender \ --filter=recommenderSubtype=MYSQL_HIGH_NUMBER_OF_OPEN_TABLES_BEST_PRACTICE
Sostituisci quanto segue:
PROJECT_ID
: il tuo ID progettoLOCATION
: una regione, ad esempious-central1
API
Per elencare i suggerimenti per migliorare il rendimento dell'istanza utilizzando l'API Recommendations, chiama il metodo recommendations.list
nel seguente modo:
GET https://recommender.googleapis.com/v1beta1/projects/PROJECT-ID/locations/LOCATION/recommenders/google.cloudsql.instance.PerformanceRecommender.MySqlHighNumberOfTablesBestPractice/recommendations
Sostituisci quanto segue:
PROJECT_ID
: il tuo ID progetto.LOCATION
: una regione, ad esempious-central1
.
Se il motore per suggerimenti rileva istanze con un numero elevato di tabelle aperte, le elenca in una tabella con altri consigli sul rendimento. Ogni riga mostra l'ID istanza, un breve consiglio, il motore del database, la posizione e la data dell'ultimo aggiornamento.
Visualizzare approfondimenti e consigli dettagliati
Puoi visualizzare approfondimenti e consigli dettagliati sulle istanze
con un numero elevato di tabelle aperte utilizzando la console Trusted Cloud ,
gcloud CLI
o l'API Recommender.
Console
Per visualizzare approfondimenti e consigli dettagliati sulle istanze che si avvicinano alla soglia di rendimento utilizzando la console Trusted Cloud , fai clic sul link del consiglio nell'elenco delle istanze.
Interfaccia a riga di comando gcloud
Per visualizzare approfondimenti e consigli dettagliati sulle istanze che si avvicinano
alla soglia di rendimento utilizzando gcloud CLI
, esegui il comando
gcloud recommender insights list
nel seguente modo:
gcloud recommender insights list \ --project=PROJECT_ID \ --location=LOCATION \ --insight-type=google.cloudsql.instance.PerformanceInsight \ --filter=insightSubtype=MYSQL_HIGH_NUMBER_OF_OPEN_TABLES
Sostituisci quanto segue:
PROJECT_ID
: il tuo ID progetto.LOCATION
: una regione, ad esempious-central1
.
API
Per visualizzare approfondimenti e consigli dettagliati sulle istanze con un numero elevato di tabelle aperte
utilizzando l'API Recommendations,
chiama il metodo insights.list
come segue:
GET https://recommender.googleapis.com/v1beta1/projects/PROJECT-ID/locations/LOCATION/insightTypes/google.cloudsql.instance.PerformanceRecommender.MySqlHighNumberOfOpenTables/insights
Sostituisci quanto segue:
PROJECT_ID
: il tuo ID progetto.LOCATION
: una regione, ad esempious-central1
.
La tabella seguente elenca l'approfondimento e il suggerimento generati dal motore per suggerimenti per i numeri elevati di tabelle aperte in Cloud SQL per aiutarti a migliorare il rendimento.
I sottotipi sono visibili nei risultati dell'API e in gcloud CLI
.
Insight | Consiglio |
---|---|
Il numero di tabelle aperte corrisponde al valore del flag table_open_cache .Sottotipo: MYSQL_HIGH_NUMBER_OF_OPEN_TABLES
| Aumenta le prestazioni delle istanze Cloud SQL riducendo il numero di tabelle aperte. Sottotipo: MYSQL_HIGH_NUMBER_OF_OPEN_TABLES_BEST_PRACTICE
|
Applica consigli
Valuta attentamente i consigli e procedi in uno dei seguenti modi:
Per esaminare l'istanza, fai clic su Visualizza istanza. Consulta Ottimizzare il rendimento dell'istanza e segui i consigli.
Per ignorare il consiglio in modo che venga messo in secondo piano e visualizzato in grigio, fai clic su Ignora.
Per chiudere il riquadro senza applicare o ignorare il consiglio, fai clic su Annulla.
Ottimizzare il rendimento dell'istanza
Per ottimizzare il rendimento dell'istanza, esegui una delle seguenti operazioni:
Aumenta il valore di
table_open_cache
di 500 finché il consiglio non scompare. Il consiglio viene aggiornato quotidianamente, quindi dopo aver aumentato il valore ditable_open_cache
, attendi 24 ore prima di controllarlo di nuovo.Se il valore di
open_tables
è superiore atable_open_cache
, aumenta il valore ditable_open_cache
fino a raggiungere il valore diopen_tables
.Per informazioni su come aggiornare un flag di database, vedi Configurare i flag di database.
Passaggi successivi
- Gestisci un numero elevato di tabelle
- Monitorare la disponibilità del disco
- Identifica le istanze Cloud SQL inattive
- Riduzione delle istanze Cloud SQL con provisioning eccessivo
- Esplora i Trusted Cloud by S3NS sistemi di raccomandazione