Gestisci un numero elevato di tabelle

Il motore per suggerimenti per i numeri elevati di tabelle in Cloud SQL ti aiuta a rilevare le istanze il cui numero di tabelle è troppo elevato e vicino al limite dello SLA. Fornisce quindi consigli su come ottimizzare queste istanze e migliorarne il rendimento.

Questa pagina descrive il funzionamento del motore per suggerimenti per i numeri elevati 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 e non è coperta dallo SLA.

Il motore per suggerimenti per i numeri elevati di tabelle in Cloud SQL analizza le metriche per il numero di tabelle su un'istanza Cloud SQL per MySQL. Se il numero di tabelle è maggiore 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 in Cloud SQL è incluso nel livello di prezzi Standard di Recommender.

Prima di iniziare

Prima di poter visualizzare i suggerimenti e gli approfondimenti, procedi nel seguente modo:

  • Per ottenere le autorizzazioni per visualizzare e utilizzare approfondimenti e suggerimenti, assicurati di avere i ruoli richiesti.
    Tasks Ruoli
    Visualizza i suggerimenti Uno di questi ruoli: recommender.cloudsqlViewer o cloudsql.viewer.
    Applica suggerimenti Uno di questi ruoli: recommender.cloudsqlAdmin, cloudsql.editor, o cloudsql.admin.
    Per saperne di più sui ruoli, consulta la sezione Comprendere i ruoli e concedere le autorizzazioni IAM.
  • Abilita l'API Recommender.

    Ruoli richiesti per abilitare le API

    Per abilitare le API, devi disporre dell'autorizzazione serviceusage.services.enable. Se hai creato il progetto, probabilmente hai già questa autorizzazione tramite il ruolo Proprietario (roles/owner). In caso contrario, puoi ottenere questa autorizzazione tramite il ruolo Amministratore utilizzo servizi (roles/serviceusage.serviceUsageAdmin). Scopri come concedere i ruoli.

    Abilitare l'API

Elenca i suggerimenti per migliorare il rendimento dell'istanza

Puoi elencare i suggerimenti per migliorare il rendimento dell'istanza utilizzando la Google Cloud console, gcloud CLI, o l'API Recommender.

I suggerimenti per migliorare il rendimento dell'istanza vengono visualizzati solo se hai istanze che si avvicinano ai limiti della soglia di rendimento.

Console

Per elencare i suggerimenti sul rendimento dell'istanza utilizzando la Google Cloud console, segui questi passaggi:

  1. Vai alla pagina Istanze Cloud SQL.

    Vai a Istanze Cloud SQL

  2. Fai clic su Visualizza tutto nel banner Gestisci i suggerimenti per un numero elevato di tabelle.

In alternativa, segui questi passaggi:

  1. Vai ad Active Assist. Consulta anche la sezione Guida introduttiva all'hub dei suggerimenti.

    Vai ad Active Assist

  2. Nella scheda Migliora il rendimento dell'istanza Cloud SQL, fai clic su Visualizza tutto.

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

gcloud CLI

Per elencare i suggerimenti per migliorare il rendimento dell'istanza utilizzando gcloud CLI, esegui il gcloud recommender recommendations list comando nel seguente modo:

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 suggerimenti per migliorare il rendimento dell'istanza utilizzando l' API Recommendations, chiama il recommendations.list metodo 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 esempio us-central1.

Se il motore per suggerimenti rileva istanze con un numero elevato di tabelle, le elenca in una tabella con altri suggerimenti sul rendimento. Ogni riga mostra l'ID istanza, un breve suggerimento, il motore del database, la località e la data dell'ultimo aggiornamento.

Visualizza approfondimenti e suggerimenti dettagliati

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

Console

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

gcloud CLI

Per visualizzare approfondimenti e suggerimenti dettagliati sulle istanze che si avvicinano alla soglia di rendimento utilizzando gcloud CLI, esegui il gcloud recommender insights list comando nel seguente modo:

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

API

Per visualizzare approfondimenti e suggerimenti dettagliati sulle istanze che si avvicinano alla soglia di rendimento utilizzando l'API Recommendations, chiama il metodo insights.list nel seguente modo:

GET https://recommender.googleapis.com/v1beta1/projects/PROJECT-ID/locations/LOCATION/insightTypes/google.cloudsql.instance.PerformanceRecommender.MySqlHighNumberOfTables/insights

Sostituisci quanto segue:

  • PROJECT_ID: il tuo ID progetto.
  • LOCATION: una regione, ad esempio us-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 di gcloud CLI e dell'API.

Insight Suggerimento
Il numero di tabelle in questa istanza è maggiore o uguale all'80% del limite dello SLA, ovvero 50.000 tabelle.
Sottotipo: MYSQL_HIGH_NUMBER_OF_TABLES
Migliora il rendimento dell'istanza Cloud SQL riducendo il numero di tabelle.
Sottotipo: MYSQL_HIGH_NUMBER_OF_TABLES_BEST_PRACTICE

Applica suggerimenti

Valuta attentamente i suggerimenti ed esegui una delle seguenti operazioni:

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

  • Per ignorare il suggerimento in modo che venga ridotto e visualizzato in grigio, fai clic su Ignora.

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

Ottimizza il rendimento dell'istanza

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

  • Elimina le tabelle non necessarie:

    DROP TABLE TABLE_NAME; 

    Sostituisci quanto segue:

    • TABLE_NAME: nome della tabella che intendi eliminare.
  • Riduci il numero di tabelle per istanza suddividendo il database su più istanze per 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 la tua istanza sia interessata dal numero elevato di tabelle impostando il flag innodb_file_per_table su OFF. Per disattivare il valore di il flag innodb_file_per_table, consulta Configurare un flag di database. Tuttavia, questa impostazione non riporta l'istanza alla conformità con lo SLA. Consulta queste linee guida operative.

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

Passaggi successivi