Optymalizacja wydajności

Monitorowanie i rozwiązywanie problemów z rozwiązaniami Azure

Ebadur Osib

Senior Cloud Consulting Engineer

Wydajność jako funkcja

SlowApp.jpg

 

  • Wydajność wpływa na zaufanie użytkowników.
  • Wolne aplikacje zwiększają liczbę błędów.
  • Azure pomaga deweloperom optymalizować pod kątem:
    • Niskich opóźnień
    • Dużego ruchu
Monitorowanie i rozwiązywanie problemów z rozwiązaniami Azure

Źródła problemów z wydajnością

WhereProblemsComeFrom.jpg

Monitorowanie i rozwiązywanie problemów z rozwiązaniami Azure

Opóźnienie a przepustowość

ThroughputvsLatency.jpg

Monitorowanie i rozwiązywanie problemów z rozwiązaniami Azure

Optymalizacja ścieżki krytycznej

slowestdependency.jpg

  • Optymalizacja zaczyna się od zidentyfikowania i skrócenia najwolniejszej sekwencji.
  • Nie każdy element wymaga takiego samego dostrajania.
Monitorowanie i rozwiązywanie problemów z rozwiązaniami Azure

Redukcja opóźnień zależności

 

  • Zależności są najczęstszym źródłem opóźnień.
  • Metody redukcji:
    • Optymalizacja zapytań
    • Pula połączeń
    • Grupowanie żądań
    • Redukcja nadmiarowych wywołań
  • Skuteczniejsze niż skalowanie zasobów obliczeniowych.

reducinglatency.jpg

Monitorowanie i rozwiązywanie problemów z rozwiązaniami Azure

Buforowanie

cache.jpg

Monitorowanie i rozwiązywanie problemów z rozwiązaniami Azure

Azure Cache for Redis

cache-architecture.png

1 https://learn.microsoft.com/en-us/azure/redis/architecture
Monitorowanie i rozwiązywanie problemów z rozwiązaniami Azure

Azure Managed Redis

managed-redis-architecture.png

1 https://learn.microsoft.com/en-us/azure/redis/architecture
Monitorowanie i rozwiązywanie problemów z rozwiązaniami Azure

Zagadnienia projektowe buforowania

 

  • Buforowanie wymaga ważnych decyzji projektowych.

  • Należy zdefiniować polityki wygasania danych w pamięci podręcznej.

  • Istnieje kompromis między spójnością a aktualnością danych.

  • Popularnym wzorcem jest cache-aside – dane są ładowane do pamięci podręcznej tylko wtedy, gdy są potrzebne.

cachecloud.jpg

  • Unieważnianie pamięci podręcznej zapewnia odświeżenie lub usunięcie nieaktualnych danych.
Monitorowanie i rozwiązywanie problemów z rozwiązaniami Azure

Throttling i backpressure

 

  • Zbyt wiele żądań może powodować awarie.
  • Throttling i backpressure chronią systemy.
  • Spowalniają lub odrzucają nadmierny ruch.

throttling.jpg

Monitorowanie i rozwiązywanie problemów z rozwiązaniami Azure

Wzorce asynchroniczne i kolejkowe

queues.jpg

Monitorowanie i rozwiązywanie problemów z rozwiązaniami Azure

Problem biznesowy

BusinessProblem.jpg

Monitorowanie i rozwiązywanie problemów z rozwiązaniami Azure

Znajdowanie wąskiego gardła

Bottleneck.jpg

Monitorowanie i rozwiązywanie problemów z rozwiązaniami Azure

Optymalizacja pod kątem skali i szybkości

Optimized.jpg

Monitorowanie i rozwiązywanie problemów z rozwiązaniami Azure

Czas na ćwiczenia!

Monitorowanie i rozwiązywanie problemów z rozwiązaniami Azure

Preparing Video For Download...