Identificare dove si verifica la latenza

Questa pagina descrive come risolvere i problemi dei componenti di Spanner per trovare l'origine della latenza. Per scoprire di più sui possibili punti di latenza in una richiesta Spanner, consulta Punti di latenza in una richiesta Spanner.

  1. Nell'applicazione client che influisce sul tuo servizio, verifica che sia presente un aumento della latenza rispetto alla latenza di andata e ritorno del client. Controlla le seguenti dimensioni dalle metriche lato client.

    • Nome dell'applicazione client
    • Località del client (ad esempio, zone VM Compute Engine) e host (ovvero i nomi delle VM).
    • Metodo dell'API Spanner
    • Stato dell'API Spanner

    Raggruppa i dati in base a queste dimensioni per capire se il problema riguarda un cliente, uno stato o un metodo specifico. Per i workload a due regioni o multiregionali, controlla se il problema è limitato a un client o a una regione Spanner specifici.

  2. Controlla lo stato dell'applicazione client, in particolare l'infrastruttura di calcolo lato client (ad esempio l'utilizzo di VM, CPU o memoria, connessioni, descrittori file e così via).

  3. Controlla la latenza nei componenti Spanner:

    a. Controlla la latenza di andata e ritorno del client con OpenTelemetry o con OpenCensus.

    b. Controlla la latenza del front-end di Google (GFE) con OpenTelemetry o con OpenCensus.

    c. Controlla la latenza delle richieste dell'API Spanner con OpenTelemetry o con OpenCensus.

    Se la latenza di andata e ritorno del client è elevata, ma la latenza GFE e la latenza della richiesta dell'API Spanner sono basse, il codice dell'applicazione potrebbe avere un problema. Potrebbe anche indicare un problema di rete tra il cliente e il GFE regionale. Se la tua applicazione presenta un problema di prestazioni che causa la lentezza di alcuni percorsi di codice, la latenza di andata e ritorno del client per ogni richiesta API potrebbe aumentare. Potrebbe anche esserci un problema nell'infrastruttura di computing del cliente che non è stato rilevato nel passaggio precedente.

  4. Controlla le seguenti dimensioni per le metriche Spanner:

    • Nome del database Spanner
    • Metodo dell'API Spanner
    • Stato dell'API Spanner

    Raggruppa in base a queste dimensioni per capire se il problema è limitato a un database, a uno stato o a un metodo specifico. Per i carichi di lavoro a due o più regioni, controlla se il problema è limitato a una regione specifica.

    Se la latenza GFE è elevata, ma la latenza della richiesta dell'API Spanner è bassa, il motivo potrebbe essere uno dei seguenti:

    • Accesso a un database da un'altra regione. Questa azione può comportare una latenza GFE elevata e una latenza delle richieste dell'API Spanner bassa. Ad esempio, il traffico da un client nella regione us-east1 che ha un'istanza nella regione us-central1 potrebbe avere una latenza GFE elevata, ma una latenza delle richieste dell'API Spanner inferiore.

    • Si è verificato un problema a livello di GFE. Controlla la Dashboard dello stato di Google Cloud per verificare se sono in corso problemi di rete nella tua regione. Se non ci sono problemi, apri una richiesta di assistenza e includi queste informazioni in modo che gli addetti all'assistenza possano aiutarti a risolvere i problemi relativi al GFE.

  5. Controlla l'utilizzo della CPU dell'istanza. Se l'utilizzo della CPU dell'istanza è superiore al livello consigliato, dovresti aggiungere manualmente altri nodi o configurare la scalabilità automatica. Per ulteriori informazioni, consulta la panoramica della scalabilità automatica.

  6. Osserva e risolvi i potenziali hotspot o i pattern di accesso sbilanciati utilizzando Key Visualizer e prova a eseguire il rollback di eventuali modifiche al codice dell'applicazione fortemente correlate al periodo di tempo del problema.

  7. Controlla eventuali variazioni del modello di traffico.

  8. Controlla Query Insights e Transaction Insights per verificare se potrebbero esserci colli di bottiglia relativi alle prestazioni delle query o delle transazioni.

  9. Utilizza le procedure in Query attive meno recenti per visualizzare eventuali query sulle spese che potrebbero causare un collo di bottiglia delle prestazioni e annullarle in base alle esigenze.

  10. Utilizza le procedure descritte nelle sezioni relative alla risoluzione dei problemi dei seguenti argomenti per risolvere ulteriormente il problema utilizzando gli strumenti di introspezione di Spanner:

Passaggi successivi