Gestisci un numero elevato di tabelle

Il recommender con numero elevato di tabelle Cloud SQL consente di rilevare le istanze il cui numero di tabelle è troppo elevato e vicino al limite previsto dallo SLA (accordo sul livello del servizio). Fornisce quindi suggerimenti su come ottimizzare queste istanze e migliorarne le prestazioni.

Questa pagina descrive il funzionamento del motore per suggerimenti con numero elevato di tabelle e come puoi utilizzarlo.

Come funziona

Se hai 50.000 o più tabelle di database su una singola istanza, l'istanza potrebbe non rispondere o non essere in grado di eseguire operazioni di manutenzione. Inoltre, l'istanza non è coperta dallo SLA (accordo sul livello del servizio).

Il motore per suggerimenti con numero elevato di tabelle Cloud SQL analizza le metriche per il numero di tabelle su un'istanza MySQL di Cloud SQL. Se il numero di tabelle è maggiore o uguale all'80% del limite dello SLA (accordo sul livello del servizio), che consente 50.000 tabelle, si considera che l'istanza abbia un numero elevato di tabelle.

Prezzi

Il motore per suggerimenti con numero elevato 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.
    Attività Ruoli
    Visualizza i suggerimenti Uno di questi ruoli: recommender.cloudsqlViewer o cloudsql.viewer.
    Applica i consigli Uno di questi ruoli: recommender.cloudsqlAdmin, cloudsql.editor o cloudsql.admin.
    Per ulteriori informazioni sui ruoli, consulta Comprendere i ruoli e concedere le autorizzazioni IAM.
  • Attiva l'API Recommender.

    Abilita l'API

Elenco suggerimenti per migliorare le prestazioni dell'istanza

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

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

Console

Per elencare suggerimenti sulle prestazioni 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 Gestisci un numero elevato di tabelle.

In alternativa, procedi nel seguente modo:

  1. Vai all'hub dei suggerimenti. Vedi 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 suggerimenti di miglioramento delle prestazioni dell'istanza 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: l'ID del tuo progetto
  • LOCATION: una regione, ad esempio us-central1

API

Per elencare i suggerimenti per il miglioramento delle prestazioni dell'istanza 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, le elenca in una tabella insieme ad altri suggerimenti sulle prestazioni. Ogni riga mostra l'ID istanza, un breve suggerimento, il motore del database, la posizione e la data dell'ultimo aggiornamento.

Visualizza approfondimenti e consigli dettagliati

Puoi visualizzare insight e suggerimenti dettagliati sulle istanze con un numero elevato di tabelle utilizzando la console Google Cloud, gcloud CLI o l'API Recommender.

Console

Per visualizzare insight e suggerimenti dettagliati sulle istanze che sono vicine alla soglia di prestazioni utilizzando la console Google Cloud, fai clic sul link dei suggerimenti nell'elenco delle istanze.

Interfaccia a riga di comando gcloud

Per visualizzare insight e suggerimenti dettagliati sulle istanze che sono vicine alla soglia di prestazioni 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_TABLES

Sostituisci quanto segue:

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

API

Per visualizzare insight e suggerimenti dettagliati sulle istanze che sono vicine alla soglia di prestazioni 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 del tuo progetto.
  • LOCATION: una regione, ad esempio us-central1.

La tabella seguente elenca gli insight e i suggerimenti generati dal motore per suggerimenti per un numero elevato 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 in questa istanza è superiore o uguale all'80% del limite dello SLA (accordo sul livello del servizio), ovvero di 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 i consigli

Valuta attentamente i consigli e procedi in uno dei seguenti modi:

  • Per esaminare l'istanza, fai clic su Visualizza istanza. Consulta Ottimizzare le prestazioni dell'istanza e seguire i consigli.

  • Per ignorare il consiglio in modo che venga meno sottolineato e appaia in grigio, fai clic su Ignora.

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

Ottimizza le prestazioni dell'istanza

  • Modifica l'istanza per aumentare il numero di vCPU fino ad almeno 32 core e la dimensione della memoria fino ad almeno 200 GB. Questo aumenta il limite di tabelle dell'istanza da 50.000 a 500.000.

  • Elimina le tabelle non necessarie:

    DROP TABLE TABLE_NAME; 

    Sostituisci quanto segue:

    • TABLE_NAME: nome della tabella che vuoi eliminare.
  • Riduci il numero di tabelle per istanza dividendo il database su più istanze in modo da mantenere il numero di tabelle in ogni istanza entro i limiti consigliati.

  • Se non puoi ridurre immediatamente il numero di tabelle, puoi ridurre la probabilità che l'istanza sia interessata da un numero elevato di tabelle impostando il flag innodb_file_per_table su OFF. Per disattivare il valore del flag innodb_file_per_table, consulta Configurare un flag di database. Tuttavia, questa impostazione non ripristina la conformità dell'istanza allo SLA (accordo sul livello del servizio). Consulta queste linee guida operative.

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

Passaggi successivi