Metriche di latenza

In questa pagina vengono descritte le metriche di latenza fornite da Cloud Spanner. Se la tua applicazione ha una latenza elevata, utilizza queste metriche per diagnosticare e risolvere il problema.

Puoi visualizzare queste metriche in Google Cloud Console e nella console di Cloud Monitoring.

Panoramica delle metriche di latenza

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

Queste metriche di latenza non includono la latenza che si verifica al di fuori di Cloud Spanner, come 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 in Google Cloud Console e nella console di Cloud Monitoring. Puoi visualizzare metriche combinate sulla latenza che includono sia operazioni di lettura che scritture oppure metriche separate per le letture e scritture.

In base alla latenza di ogni richiesta, Cloud Spanner raggruppa le richieste in percentile. 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, Cloud Spanner ha elaborato il 50% delle richieste in meno di 0,5 secondi.

    Questa metrica è chiamata anche latenza media.

  • Latenza del 99° percentile: la latenza massima, in secondi, per il 99% più rapido delle richieste. Ad esempio, se la latenza del 99° percentile è di 2 secondi, Cloud 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 in un determinato periodo di tempo, le latenze al 50° e al 99° percentile durante questo periodo non sono indicatori significativi delle prestazioni complessive dell'istanza. In queste condizioni, un numero molto ridotto di valori anomali può modificare drasticamente le metriche di latenza.

Ad esempio, supponiamo che un'istanza elabori 100 richieste in un'ora. In questo caso, la latenza del 99° percentile per l'istanza durante quell'ora è la quantità di tempo necessaria 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ù nel dettaglio le metriche e individuare le correlazioni tra latenza e altre metriche, utilizza la console di Cloud Monitoring.

Latenza totale elevata, latenza Cloud Spanner bassa

Se la latenza dell'applicazione è superiore al previsto, ma le metriche di latenza di Cloud Spanner sono significativamente inferiori alla latenza totale end-to-end, potrebbe esserci un problema con il codice dell'applicazione. Se la tua applicazione ha un problema di prestazioni che rallenta alcuni percorsi del codice, la latenza totale end-to-end di ogni richiesta potrebbe aumentare.

Per verificare la presenza di questo problema, confronta la tua applicazione per identificare i percorsi del codice più lenti del previsto.

Puoi anche aggiungere un commento al codice che comunica con Cloud Spanner e poi misurare di nuovo la latenza totale. Se la latenza totale non cambia molto, è improbabile che Cloud Spanner sia la causa dell'elevata latenza.

Latenza totale elevata, latenza elevata di Cloud Spanner

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

  • La tua istanza richiede più capacità di calcolo. Se l'istanza non dispone di risorse sufficienti e l'utilizzo della CPU supera il valore massimo consigliato, Cloud 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 tue query non sfruttano le funzionalità di Cloud Spanner che migliorano l'efficienza, come i parametri delle query e gli indici secondari, o se includono un numero elevato di join o altre operazioni che richiedono un maggior utilizzo della CPU, le query possono utilizzare una grande porzione delle risorse della CPU per l'istanza.

Per verificare la presenza di questi problemi, utilizza la console di Cloud Monitoring per cercare una correzione tra alto utilizzo della CPU e alta latenza. Controlla anche le statistiche delle query per la tua istanza per identificare le query che richiedono un uso intensivo della CPU durante lo stesso periodo di tempo.

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

Passaggi successivi