Gestisci un numero elevato di tabelle

Il programma per suggerimenti con numero di tabelle elevato di Cloud SQL ti aiuta a rilevare le istanze il cui numero di tabelle è troppo alto e vicino al limite previsto dallo SLA. Fornisce poi consigli su come ottimizzare queste istanze e migliorare le prestazioni delle istanze.

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

Come funziona

Se hai 50.000 o più tabelle di database in una singola istanza, non risponde o non è in grado di eseguire operazioni di manutenzione, e l'istanza non è coperta dallo SLA.

Il motore per suggerimenti per i numeri elevati di tabelle Cloud SQL analizza le metriche relative al numero di tabelle su un'istanza Cloud SQL MySQL. Se il numero di tabelle è superiore o uguale all'80% del limite dello SLA, che consente 50.000 tabelle, l'istanza è considerata con un numero elevato di tabelle.

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:

  • Per ottenere le autorizzazioni per visualizzare e utilizzare insight e suggerimenti, assicurati di disporre dei ruoli richiesti.
    Tasks Ruoli
    Visualizza i suggerimenti Uno di questi ruoli: recommender.cloudsqlViewer oppure cloudsql.viewer.
    Applica 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

Elenca i consigli per migliorare il rendimento delle istanze

Puoi elencare i suggerimenti Migliora le prestazioni delle istanze utilizzando la console Google Cloud, gcloud CLI o l'API Recommender.

I suggerimenti per migliorare le prestazioni delle istanze vengono mostrati solo se hai istanze che stanno per raggiungere i limiti di soglia di prestazioni.

Console

Per elencare i suggerimenti sulle prestazioni delle istanze utilizzando il comando nella 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 la gestione di un numero elevato di tabelle.

In alternativa, procedi nel seguente modo:

  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 dell'istanza Cloud SQL, fai clic su Visualizza tutto.

  3. Seleziona le istanze con il consiglio Gestisci un numero elevato di tabelle.

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

Se il recommender rileva istanze con un numero elevato di tabelle, 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 insight e suggerimenti dettagliati sulle istanze con un numero elevato di tabelle, usando la console Google Cloud, gcloud CLI o l'API Recommender.

Console

Per visualizzare insight e suggerimenti dettagliati sulle istanze che stanno per raggiungere la soglia di prestazioni utilizzando la console Google Cloud, fai clic sul suggerimento nell'elenco delle istanze.

Interfaccia a riga di comando gcloud

Per visualizzare insight e suggerimenti dettagliati sulle istanze che stanno per raggiungere la soglia di prestazioni utilizzando gcloud CLI, esegui la 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_TABLES

Sostituisci quanto segue:

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

API

Per visualizzare approfondimenti e consigli dettagliati sulle istanze vicine alla soglia di rendimento 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.MySqlHighNumberOfTables/insights

Sostituisci quanto segue:

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

La tabella seguente elenca gli insight e i suggerimenti forniti dall'API Cloud SQL il motore per suggerimenti con numero elevato di tabelle aperte genera per aiutarti a migliorare le prestazioni. I sottotipi sono visibili nei risultati di gcloud CLI e dell'API.

Insight Consiglio
Il numero di tabelle in questa istanza è superiore o uguale all'80% del limite dello SLA (accordo sul livello del servizio), ovvero 50.000 tabelle.
Sottotipo: MYSQL_HIGH_NUMBER_OF_TABLES
Migliora le prestazioni delle istanze Cloud SQL riducendo il numero di tabelle.
Sottotipo: MYSQL_HIGH_NUMBER_OF_TABLES_BEST_PRACTICE

Applica consigli

Valuta attentamente i consigli ed esegui 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 il rendimento dell'istanza

  • Modifica l'istanza per aumentare il numero di vCPU almeno a 32 core e le dimensioni della memoria almeno a 200 GB. In questo modo il limite di tabella dell'istanza viene aumentato da 50.000 a 500.000.

  • Elimina le tabelle non necessarie:

    DROP TABLE TABLE_NAME; 

    Sostituisci quanto segue:

    • TABLE_NAME: il nome della tabella che intendi eliminare.
  • Riduci il numero di tabelle per istanza suddividendo il database in più istanze per mantenere il numero di tabelle in ogni istanza entro i limiti consigliati.

  • Se non riesci a ridurre immediatamente il numero di tabelle, puoi ridurre la probabilità dell'istanza interessata dalla tabella alta il conteggio impostando il flag innodb_file_per_table su OFF. Per disattivare il valore il flag innodb_file_per_table, vedi Configurare un flag di database. Tuttavia, questa impostazione non ripristina la conformità dell'istanza allo SLA. Consulta queste linee guida operative.

  • Utilizza un tablespace generale per creare tabelle o spostare tabelle esistenti in un tablespace generale. Per saperne di più, consulta la documentazione di MySQL sugli spazi tabella generali.

Passaggi successivi