Ottimizzare le prestazioni

Monitorare e risolvere problemi nelle soluzioni Azure

Ebadur Osib

Senior Cloud Consulting Engineer

Le prestazioni sono una feature

App lenta

 

  • Le prestazioni influenzano la fiducia degli utenti.
  • App lente aumentano i failure.
  • Azure aiuta a ottimizzare per:
    • Bassa latenza
    • Alto traffico
Monitorare e risolvere problemi nelle soluzioni Azure

Da dove nascono i problemi di prestazioni

Origine dei problemi

Monitorare e risolvere problemi nelle soluzioni Azure

Latenza vs throughput

Throughput vs latenza

Monitorare e risolvere problemi nelle soluzioni Azure

Ottimizza il percorso critico

Dipendenza più lenta

  • L’ottimizzazione parte dall’identificare e accorciare la sequenza più lenta.
  • Non tutto richiede lo stesso tuning.
Monitorare e risolvere problemi nelle soluzioni Azure

Ridurre la latenza delle dipendenze

 

  • Le dipendenze sono la causa più comune di latenza.
  • Metodi per ridurla:
    • Ottimizzazione delle query
    • Connection pooling
    • Batch di richieste
    • Meno chiamate “chiacchierone”
  • Più efficace che scalare il compute.

Ridurre la latenza

Monitorare e risolvere problemi nelle soluzioni Azure

Caching

Cache

Monitorare e risolvere problemi nelle soluzioni Azure

Azure Cache for Redis

Architettura della cache

1 https://learn.microsoft.com/en-us/azure/redis/architecture
Monitorare e risolvere problemi nelle soluzioni Azure

Azure Managed Redis

Architettura Redis gestita

1 https://learn.microsoft.com/en-us/azure/redis/architecture
Monitorare e risolvere problemi nelle soluzioni Azure

Considerazioni di design per la cache

 

  • Il caching introduce importanti scelte di design.

  • Devi definire policy di scadenza per i dati in cache.

  • Ci sono trade-off tra coerenza e freschezza.

  • Un pattern comune è cache-aside: i dati vengono caricati in cache solo quando servono.

Cloud di cache

  • L’invalidazione della cache garantisce che i dati obsoleti vengano aggiornati o rimossi.
Monitorare e risolvere problemi nelle soluzioni Azure

Throttling e backpressure

 

  • Troppe richieste possono causare failure.
  • Throttling e backpressure proteggono i sistemi.
  • Rallentano o rifiutano il traffico in eccesso.

Throttling

Monitorare e risolvere problemi nelle soluzioni Azure

Pattern asincroni e basati su code

Code

Monitorare e risolvere problemi nelle soluzioni Azure

Il problema di business

Problema di business

Monitorare e risolvere problemi nelle soluzioni Azure

Trovare il collo di bottiglia

Collo di bottiglia

Monitorare e risolvere problemi nelle soluzioni Azure

Ottimizzare per scala e velocità

Ottimizzato

Monitorare e risolvere problemi nelle soluzioni Azure

Passiamo alla pratica!

Monitorare e risolvere problemi nelle soluzioni Azure

Preparing Video For Download...