Aumenta le dimensioni della cache delle tabelle aperte

Il motore per suggerimenti per i numeri elevati di tabelle aperte di Cloud SQL ti aiuta a rilevare le istanze il cui numero di tabelle aperte contemporaneamente è uguale al valore di table_open_cache. Fornisce quindi consigli su come ottimizzare queste istanze per migliorare il rendimento.

Questa pagina descrive come funziona il recommender per un numero elevato di tabelle aperte e come usarlo.

Come funziona

MySQL è multithread e i client possono eseguire contemporaneamente una query sulla stessa tabella da più thread. Di conseguenza, 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 in cache sono attualmente in uso, MySQL estende la cache temporaneamente e chiude le tabelle non appena non sono più in uso.

Se il numero di tabelle aperte supera il valoretable_open_cache, le prestazioni del database possono essere negativamente influenzate durante i carichi di lavoro elevati. Questo accade 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 di Cloud SQL analizza quotidianamente le metriche relative al numero di tabelle aperte in un'istanza Cloud SQL MySQL. Se il numero di tabelle aperte aumenta di 1 ogni 2 secondi o più velocemente nelle 24 ore precedenti e il numero di tabelle aperte è uguale o superiore al valore table_open_cache, il recommender ti consiglia di modificare il flag table_open_cache.

Prezzi

Il motore per suggerimenti per i numeri elevati di tabelle aperte di Cloud SQL si trova nel livello di prezzo del motore per suggerimenti Standard.

Prima di iniziare

Prima di poter visualizzare consigli e approfondimenti, svolgi i seguenti passaggi:

  • 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 o cloudsql.viewer.
    Applicare i consigli Uno di questi ruoli: recommender.cloudsqlAdmin, cloudsql.editor o cloudsql.admin.
    Per ulteriori informazioni sui ruoli, consulta Informazioni sui ruoli e Concedere autorizzazioni IAM.
  • Enable the Recommender API.

    Enable the API

Elenco di suggerimenti per le prestazioni delle istanze

Puoi elencare i consigli per il rendimento delle istanze utilizzando la console Google Cloud, gcloud CLI o l'API Recommender.

I consigli per migliorare il rendimento delle istanze vengono mostrati solo se hai istanze che stanno per raggiungere i limiti di soglia di rendimento.

Console

Per elencare i consigli sul rendimento delle istanze utilizzando la console Google Cloud, segui questi passaggi:

  1. Vai alla pagina Istanze Cloud SQL.

    Vai a Istanze Cloud SQL

  2. Fai clic su Visualizza tutto nel banner dei consigli per aumentare la cache delle tabelle aperte.

In alternativa, segui questi passaggi:

  1. Vai all'hub dei suggerimenti. Consulta anche la Guida introduttiva all'hub dei suggerimenti.

    Vai all'hub dei suggerimenti

  2. Nella scheda Migliora le prestazioni delle istanze Cloud SQL, fai clic su Visualizza tutto.

  3. 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 progetto
  • LOCATION: una regione, ad esempio us-central1

API

Per elencare i consigli per migliorare il rendimento delle istanze utilizzando l'API Recommendations, chiama il metodo recommendations.list come segue:

GET https://recommender.googleapis.com/v1beta1/projects/PROJECT-ID/locations/LOCATION/recommenders/google.cloudsql.instance.PerformanceRecommender.MySqlHighNumberOfTablesBestPractice/recommendations

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del tuo progetto.
  • LOCATION: una regione, ad esempio us-central1.

Se il motore per suggerimenti rileva istanze con un numero elevato di tabelle aperte, le elenca in una tabella insieme ad 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 Google Cloud,gcloud CLI o l'API Recommender.

Console

Per visualizzare approfondimenti e suggerimenti dettagliati sulle istanze vicine alla soglia di prestazioni utilizzando la console Google Cloud, fai clic sul link del suggerimento nell'elenco delle istanze.

Interfaccia a riga di comando gcloud

Per visualizzare approfondimenti e consigli dettagliati sulle istanze vicine alla soglia di rendimento utilizzando gcloud CLI, esegui il comando gcloud recommender insights list come segue:

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: l'ID del tuo progetto.
  • LOCATION: una regione, ad esempio us-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: l'ID del tuo progetto.
  • LOCATION: una regione, ad esempio us-central1.

La tabella seguente elenca gli approfondimenti e i consigli generati dal motore per suggerimenti per i numeri elevati di tabelle aperte di Cloud SQL per aiutarti a migliorare le prestazioni. I sottotipi sono visibili nei risultati di gcloud CLI e dell'API.

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

Applicare i consigli

Valuta attentamente i consigli e svolgi una delle seguenti operazioni:

  • Per esaminare l'istanza, fai clic su Visualizza istanza. Consulta l'articolo Ottimizzare il rendimento dell'istanza e segui i consigli.

  • Per ignorare il consiglio in modo che non sia evidenziato e venga visualizzato in grigio, fai clic su Ignora.

  • Per chiudere il riquadro senza applicare o ignorare il consiglio, fai clic su Annulla.

Ottimizzare le prestazioni dell'istanza

Per ottimizzare il rendimento dell'istanza, esegui una delle seguenti operazioni:

  1. Aumenta il valore di table_open_cache di 500 fino a quando il consiglio non scompare. Il consiglio viene aggiornato quotidianamente, quindi dopo aver aumentato il valore di table_open_cache, attendi 24 ore prima di controllarlo di nuovo.

  2. Se il valore di open_tables è maggiore di table_open_cache, aumenta il valore di table_open_cache al valore di open_tables.

    Per informazioni su come aggiornare un flag di database, consulta Configurare i flag di database.

Passaggi successivi