Metriche di utilizzo della CPU

Questa pagina descrive le metriche di utilizzo della CPU fornite da Spanner. Puoi visualizzare queste metriche nella console Google Cloud e nella console Cloud Monitoring.

Utilizzo della CPU e priorità delle attività

Spanner misura l'utilizzo della CPU in base all'origine e alla priorità dell'attività.

  • Origine: un'attività può essere avviata dall'utente o dal sistema.

  • Priorità: la priorità aiuta Spanner a determinare quali attività devono essere eseguite per prime. La priorità delle attività di sistema è predeterminata e non può essere configurata. Le attività dell'utente vengono eseguite con priorità elevata, se non diversamente specificato. Molte richieste di dati, come read e executeSql, ti consentono di specificare una priorità inferiore per la richiesta. Questa opzione può essere utile, ad esempio, quando esegui query batch, di manutenzione o analitiche che non hanno SLO di prestazioni rigorose.

    In genere, le attività con priorità più elevata verranno eseguite prima di quelle con priorità inferiore. Spanner consente alle attività ad alta priorità di utilizzare fino al 100% delle risorse CPU disponibili anche se sono presenti attività con priorità inferiore in concorrenza. Sebbene le attività di sistema con priorità inferiore possano essere ritardate nel breve termine, devono essere eseguite. Pertanto, devi eseguire il provisioning dell'istanza con una capacità di calcolo sufficiente per gestire tutte le attività.

    Se non sono presenti attività ad alta priorità, Spanner utilizzerà fino al 100% delle risorse CPU disponibili per completare più rapidamente le attività con priorità inferiore. Gli picchi di utilizzo in background non sono indice di un problema. Le attività con priorità inferiore possono cedere il passo alle attività con priorità più elevata, incluse quelle utente, quasi istantaneamente.

La seguente tabella mostra esempi per ogni attività:

Attività utente Attività di sistema
Priorità elevata Sono incluse le richieste di dati, ad esempio read o executeSql, se non viene specificata alcuna priorità o PRIORITY_HIGH. Sono inclusi la suddivisione dei dati e
Priorità media Sono inclusi: Sono inclusi:
  • Compazione del database
  • Convalida delle modifiche allo schema
  • La fase di ottimizzazione del ripristino del database
Bassa priorità Sono incluse le richieste di dati per le quali è specificato PRIORITY_LOW. Sono inclusi:
  • Eseguire il backfill di un indice.
  • Eseguire il backfill di una colonna generata

Metriche disponibili

Spanner fornisce le seguenti metriche per l'utilizzo della CPU:

  • Utilizzo della CPU smussato: una media mobile dell'utilizzo totale della CPU, in percentuale delle risorse della CPU dell'istanza, per ogni database. Ogni punto dati rappresenta una media delle ultime 24 ore. Utilizza questa metrica per creare avvisi e analizzare l'utilizzo della CPU per lunghi periodi di tempo, ad esempio 24 ore. Puoi visualizzare un grafico per questa metrica nella console Google Cloud o nella console Cloud Monitoring come Media mobile su 24 ore.

  • Utilizzo della CPU per priorità: l'utilizzo della CPU, espresso in percentuale delle risorse della CPU dell'istanza, raggruppato per priorità, attività avviate dall'utente e attività avviate dal sistema. Utilizza questa metrica per creare avvisi e analizzare l'utilizzo della CPU a livello generale. Puoi visualizzare un grafico per questa metrica nella console Google Cloud o nella console Cloud Monitoring.

  • Utilizzo della CPU per tipo di operazione: l'utilizzo della CPU, in percentuale delle risorse della CPU dell'istanza, raggruppato per operazioni avviate dall'utente come letture, scritture e commit. Utilizza questa metrica per ottenere un'analisi dettagliata dell'utilizzo della CPU e per risolvere ulteriormente i problemi, come spiegato in Indagine sull'utilizzo elevato della CPU. Puoi creare un grafico per questa metrica nella console Cloud Monitoring.

    Puoi anche utilizzare la console Cloud Monitoring per creare avvisi per l'utilizzo della CPU, come descritto di seguito.

La seguente tabella specifica i nostri consigli per l'utilizzo massimo della CPU per le istanze regionali, a due regioni e multiregionali. Questi numeri servono a garantire che la tua istanza disponga di capacità di calcolo sufficiente per continuare a gestire il traffico in caso di perdita di un'intera zona (per le istanze regionali) o di un'intera regione (per le istanze a due regioni e multiregione).

Metrica Massimo per le istanze regionali Massimo per regione per istanze a due regioni e a più regioni
Totale con priorità elevata 65% 45%
Aggregato appiattito su 24 ore 90% 90%

Per aiutarti a rimanere al di sotto dei valori massimi consigliati, crea avvisi in Cloud Monitoring che monitorano l'utilizzo della CPU con priorità elevata e l'utilizzo medio della CPU nell'arco di 24 ore.

L'utilizzo della CPU può influire sulle latenze delle richieste. Il sovraccarico di un singolo server di backend attiverà latenze di richiesta più elevate. Le applicazioni devono eseguire benchmark e monitoraggio attivo per verificare che Spanner soddisfi i loro requisiti di rendimento.

Pertanto, per le applicazioni sensibili alle prestazioni, potrebbe essere necessario ridurre ulteriormente l'utilizzo della CPU utilizzando le tecniche descritte nella sezione seguente.

Utilizzo della CPU superiore al 100%

In alcuni casi, l'utilizzo della CPU di un'istanza Spanner può superare il 100%. Ciò significa che l'istanza utilizza più risorse della CPU rispetto alla quantità configurata per l'istanza.

Le risorse della CPU superiori al 100% potrebbero essere utilizzate per fornire prestazioni migliori e più prevedibili durante i picchi di utilizzo della CPU, ad esempio causati da un aumento improvviso del traffico delle richieste.

Qualsiasi capacità della CPU superiore al 100% NON è garantita e non deve essere considerata attendibile per le normali operazioni del database.

L'esecuzione di un'istanza Spanner con un utilizzo della CPU pari o superiore al 100% per un periodo di tempo prolungato comporta il rischio di degradare il rendimento e la latenza del normale funzionamento. Le risorse CPU aggiuntive non sono un meccanismo sicuro su cui fare affidamento per un rendimento costante.

Per questo utilizzo aggiuntivo della CPU non viene addebitato alcun costo ai clienti.

Ridurre l'utilizzo della CPU

Questa sezione spiega come ridurre l'utilizzo della CPU di un'istanza.

In generale, ti consigliamo di aumentare la capacità di calcolo della tua istanza come punto di partenza. Dopo aver aumentato la capacità di calcolo, puoi esaminare e risolvere le cause principali dell'utilizzo elevato della CPU.

Aumento della capacità di calcolo

Se superi i valori massimi consigliati per l'utilizzo della CPU, ti consigliamo vivamente di aumentare la capacità di calcolo dell'istanza in modo che possa continuare a funzionare in modo efficace. Se vuoi automatizzare questo processo, puoi creare un'applicazione che monitora l'utilizzo della CPU, quindi aumenta o diminuisce la capacità di calcolo in base alle esigenze, utilizzando il metodo UpdateInstance.

Per determinare la quantità di capacità di calcolo necessaria, tieni conto dell'utilizzo della CPU ad alta priorità di picco e della media smorzata di 24 ore. Assegna sempre una capacità di calcolo sufficiente per mantenere l'utilizzo della CPU al di sotto dei valori massimi consigliati. Come описано ранее, potresti dover allocare una capacità di calcolo aggiuntiva per le applicazioni sensibili alle prestazioni (ad esempio, per gestire picchi di carico di lavoro).

Se non disponi di una capacità di calcolo sufficiente, Spanner rimanda le attività in base al livello di priorità. Le attività di sistema a bassa priorità, come la compattazione del database e la convalida delle modifiche dello schema, possono essere differite a favore delle attività utente. Tuttavia, queste attività sono fondamentali per l'integrità della tua istanza e Spanner non può posticiparle a tempo indeterminato. Se Spanner non riesce a completare le attività di sistema di bassa priorità entro un determinato intervallo di tempo, nell'ordine di diverse ore o un giorno, a causa di risorse di calcolo insufficienti, potrebbe aumentare la priorità delle attività di sistema. Questa modifica influisce sul rendimento delle attività utente.

Eseguire ulteriori indagini con gli strumenti di introspezione

Se la metrica Utilizzo della CPU per tipo di operazione indica che un determinato tipo di operazione contribuisce a un elevato utilizzo della CPU, utilizza gli strumenti di introspezione di Spanner per risolvere ulteriormente il problema. Per ulteriori informazioni, consulta Indagine sull'utilizzo elevato della CPU.

Passaggi successivi