Metriche di latenza

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Questa pagina descrive le metriche di latenza fornite da Cloud Spanner. Se la tua applicazione presenta una latenza elevata, utilizza queste metriche per diagnosticare e risolvere il problema.

Puoi visualizzare queste metriche nella console Google Cloud e nella console Cloud Monitoring.

Panoramica delle metriche di latenza

Le metriche di latenza per Spanner misurano il tempo necessario al servizio Spark per elaborare una richiesta. La metrica acquisisce il tempo effettivo trascorso, non il tempo di CPU utilizzato da Spanner.

Queste metriche di latenza non includono la latenza che si verifica al di fuori di Spark, ad esempio la latenza di rete e la latenza all'interno del livello dell'applicazione. Per misurare altri tipi di latenza, puoi utilizzare Cloud Monitoring per strumentare la tua applicazione con metriche personalizzate.

Puoi visualizzare i grafici delle metriche di latenza nella console di Google Cloud e nella console di Cloud Monitoring. Puoi visualizzare le metriche relative alla latenza combinata che includono sia operazioni di lettura che di scrittura oppure puoi visualizzare metriche separate per le operazioni di lettura e scrittura.

In base alla latenza di ciascuna richiesta, Spanner raggruppa le richieste in percentili. Puoi visualizzare le metriche di latenza per il 50° percentile e il 99° percentile di latenza:

  • Latenza del 50° percentile: la latenza massima, in secondi, per il 50% più rapido di tutte le richieste. Ad esempio, se la latenza del 50° percentile è 0,5 secondi, Spanner ha elaborato il 50% delle richieste in meno di 0,5 secondi.

    Questa metrica è chiamata anche latenza mediana.

  • Latenza del 99° percentile: la latenza massima, in secondi, per il 99% delle richieste più veloce. Ad esempio, se la latenza del 99° percentile è di 2 secondi, Spanner ha elaborato il 99% delle richieste in meno di 2 secondi.

Latenza e operazioni al secondo

Quando un'istanza elabora un numero limitato di richieste durante un periodo di tempo, le latenze del 50° e del 99° percentile durante quel periodo non sono indicatori significativi delle prestazioni complessive dell'istanza. In queste condizioni, un numero molto ridotto di valori anomali può cambiare drasticamente le metriche di latenza.

Supponi ad esempio che un'istanza elabori 100 richieste nell'arco di un'ora. In questo caso, la latenza del 99° percentile per l'istanza durante quell'ora è la quantità di tempo impiegato per elaborare la richiesta più lenta. Una misurazione della latenza basata su una singola richiesta non è significativa.

Come diagnosticare i problemi di latenza

Le seguenti sezioni descrivono come diagnosticare diversi problemi comuni che potrebbero causare un'elevata latenza end-to-end della tua applicazione.

Per una rapida panoramica delle metriche di latenza di un'istanza, utilizza Google Cloud Console. Per esaminare più da vicino le metriche e trovare correlazioni tra la latenza e altre metriche, utilizza la console di Cloud Monitoring.

Latenza totale elevata, latenza Spanner bassa

Se la tua applicazione ha una latenza superiore al previsto, ma le metriche di latenza per Spanner sono significativamente inferiori alla latenza totale end-to-end, potrebbe esserci un problema nel codice della tua applicazione. Se la tua applicazione ha un problema di prestazioni che causa il rallentamento di alcuni percorsi del codice, la latenza totale end-to-end per ogni richiesta potrebbe aumentare.

Per verificare questo problema, effettua un benchmark della tua applicazione per identificare i percorsi di codice più lenti del previsto.

Puoi anche commentare il codice che comunica con Spanner e misurare di nuovo la latenza totale. Se la latenza totale non cambia molto, è improbabile che Spanner sia la causa dell'alta latenza.

Latenza totale elevata, latenza Spanner elevata

Se la tua applicazione ha una latenza superiore al previsto e anche le metriche di latenza di Shortser sono alte, le cause potrebbero essere diverse:

  • L'istanza richiede più capacità di calcolo. Se l'istanza non dispone di risorse CPU sufficienti e il suo utilizzo della CPU supera il massimo consigliato, Spanner potrebbe non essere in grado di elaborare le richieste in modo rapido ed efficiente.

  • Alcune delle tue query causano un elevato utilizzo della CPU. Se le query non sfruttano le funzionalità di Spanner che migliorano l'efficienza, come i parametri di query e gli indici secondari, o se includono un numero elevato di join o altre operazioni ad alta intensità di CPU, le query possono utilizzare un'ampia porzione delle risorse della CPU per l'istanza.

Per verificare questi problemi, utilizza la console di Cloud Monitoring per cercare una correlazione tra un elevato utilizzo della CPU e un'elevata latenza. Controlla anche le statistiche sulle query per la tua istanza per identificare eventuali query ad alta intensità di CPU durante lo stesso periodo di tempo.

Se noti che l'utilizzo e la latenza della CPU sono entrambi elevati contemporaneamente, intervieni per risolvere il problema:

Passaggi successivi