Questa pagina descrive le metriche di utilizzo della CPU fornite da Spanner. Puoi visualizza queste metriche nella console Google Cloud e nel Console Cloud Monitoring.
Utilizzo 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 determina quali attività eseguire per prime. La priorità Le attività di sistema sono predeterminate e non possono essere configurate. Le attività utente vengono eseguite alle se non diversamente specificato. Molte richieste di dati, ad esempio quelle di lettura. ed executeSql, puoi specificare una priorità più bassa per la richiesta. Questo può essere utile per ad esempio, quando esegui query batch, di manutenzione o analitiche che non hanno SLO con prestazioni molto rigide.
In generale, le attività con priorità più alta verranno eseguite prima per attività a bassa priorità. Spanner consente alle attività ad alta priorità possono utilizzare fino al 100% delle risorse della CPU disponibili, anche se esistono per attività a bassa priorità. Mentre le attività di sistema a priorità inferiore possono subire ritardi a breve termine, prima o poi. Pertanto, devi il provisioning dell'istanza con una capacità di calcolo sufficiente per gestire tutte le attività.
Se non ci sono attività ad alta priorità, Spanner utilizzerà fino al 100% delle risorse della CPU disponibili per completare più rapidamente le attività con priorità inferiore. I picchi nell'utilizzo in background non sono un segnale di un problema. Attività a priorità inferiore può cedere ad attività di priorità più elevata, comprese le attività utente, quasi istantaneamente.
La tabella seguente mostra esempi per ciascuna attività:
Attività degli utenti | Attività di sistema | |
---|---|---|
Priorità elevata | Sono incluse le richieste di dati, ad esempio lettura o executeSql, in cui nessuna priorità PRIORITY_HIGH è specificato. | Include la suddivisione dei dati. |
Priorità media |
Include:
|
Include:
|
Bassa priorità | Sono incluse le richieste di dati per cui PRIORITY_LOW è specificato. |
Include:
|
Metriche disponibili
Spanner fornisce le seguenti metriche per l'utilizzo della CPU:
Utilizzo livellato della CPU: una media mobile dell'utilizzo totale della CPU, come percentuale di risorse della CPU dell'istanza per ogni database. Ogni punto dati è una media delle 24 ore precedenti. Utilizza questa metrica per creare avvisi e analizzare l'utilizzo della CPU per un lungo periodo 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 24 ora.
Utilizzo della CPU per priorità: l'utilizzo della CPU, come percentuale del di risorse della CPU dell'istanza, raggruppate per priorità, attività avviate dall'utente e 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 nel 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, raggruppate per operazioni avviate dall'utente come letture, scritture e commit. Utilizza questa metrica per ottenere un'analisi dettagliata della CPU sull'utilizzo e per la risoluzione dei problemi, come spiegato in Analisi dell'utilizzo elevato della CPU. Puoi crea un grafico per questa metrica nella console di Cloud Monitoring.
Puoi anche utilizzare alla console Cloud Monitoring per creare avvisi per la CPU per l'utilizzo, come descritto più avanti.
Avvisi di utilizzo elevato della CPU
La tabella seguente specifica i nostri suggerimenti per l'utilizzo massimo della CPU per istanze regionali, a due e più regioni. Questi numeri servono a garantire che l'istanza abbia una capacità di calcolo sufficiente di continuare a gestire il traffico in caso di perdita di un'intera zona. (per istanze a singola regione) o un'intera regione (per due o più regioni di Compute Engine).
Metrica | Massimo per istanze a livello di regione | Massimo per regione per istanze a due e più regioni |
---|---|---|
Totale priorità elevata | 65% | 45% |
Aggregazione livellata 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 ad alta priorità e l'utilizzo medio della CPU nelle 24 ore.
L'utilizzo della CPU può influire sulle latenze delle richieste. Sovraccarico di un il singolo server di backend attiva latenze delle richieste più elevate. Applicazioni eseguire benchmark e monitorare Spanner soddisfa i requisiti di prestazioni.
Di conseguenza, per le applicazioni sensibili alle prestazioni, potrebbe essere necessario ridurre ulteriormente utilizzando le tecniche descritte nella sezione che segue.
Utilizzo CPU superiore al 100%
In alcuni casi, l'utilizzo della CPU di un'istanza Spanner può raggiungere superiore al 100%. Ciò significa che l'istanza utilizza più risorse della CPU rispetto l'importo configurato per l'istanza.
È possibile utilizzare risorse della CPU superiori al 100% per fornire prestazioni migliori e più prevedibili durante i picchi di utilizzo della CPU, ad esempio, causati da improvvisi di aumento del traffico di richieste.
Qualsiasi capacità della CPU superiore al 100% NON è garantita e non deve essere utilizzata per normali operazioni di database.
L'esecuzione di un'istanza Spanner vicino o superiore al 100% dell'utilizzo della CPU per un periodo di tempo prolungato rischia di compromettere le normali prestazioni di funzionamento e una latenza di pochi millisecondi. Le risorse della CPU aggiuntive non sono un meccanismo sicuro su cui fare affidamento prestazioni costanti.
Ai clienti non viene addebitato alcun costo per questo utilizzo aggiuntivo della CPU.
Riduzione dell'utilizzo della CPU
Questa sezione spiega come ridurre l'utilizzo della CPU da parte di un'istanza.
In generale, consigliamo di aumentare la capacità di calcolo dei tuoi come punto di partenza. Dopo aver aumentato la capacità di calcolo, puoi indagare 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
consigliamo di aumentare la capacità di calcolo dell'istanza in modo che
continuano a operare in modo efficace. Se vuoi automatizzare questo processo, puoi
crea un'applicazione che monitora l'utilizzo della CPU, quindi aumenta o diminuisce
in base alle esigenze, utilizzando l'API UpdateInstance
.
Per determinare la capacità di calcolo necessaria, considera il picco di priorità elevata dell'utilizzo della CPU e della media livellata di 24 ore. Alloca sempre abbastanza per mantenere l'utilizzo della CPU al di sotto dei valori massimi consigliati. Come descritto in precedenza, potresti dover allocare capacità di calcolo aggiuntiva per le applicazioni sensibili alle prestazioni (ad esempio per far fronte ai picchi dei carichi di lavoro).
Se non hai capacità di calcolo sufficiente, Spanner rimanda le attività di livello di priorità. Attività di sistema a bassa priorità, come la compattazione e lo schema dei database la convalida delle modifiche, può essere differita in favore delle attività utente. Tuttavia, queste attività sono fondamentali per l'integrità dell'istanza e Spanner non può rimandare a tempo indeterminato. Se Spanner non riesce a completare il sistema a bassa priorità di attività in una determinata finestra temporale, nell'ordine di diverse ore fino a un giorno, a causa risorse di calcolo insufficienti, Spanner potrebbe aumentare la priorità le attività di sistema. Questa modifica influisce sulle prestazioni delle attività utente.
Approfondire l'analisi con gli strumenti di introspezione
Se la metrica Utilizzo della CPU per tipo di operazione indica che una determinata di operazione sta contribuendo all'utilizzo elevato della CPU, usa strumenti di introspezione per risolvere ulteriori problemi. Per ulteriori informazioni, vedi Analisi dell'utilizzo elevato della CPU.
Passaggi successivi
- Monitora l'istanza con la console Google Cloud oppure nella console di Cloud Monitoring.
- Crea avvisi per l'utilizzo della CPU di Spanner.
- Scopri come modificare la capacità di calcolo di una Spanner.
Scopri come trovare le correlazioni tra alta latenza e altro metriche.
Scoprire come risolvere i problemi di utilizzo elevato della CPU causato da una determinata operazione consulta la sezione Esaminare l'utilizzo elevato della CPU.