Wydajność usługi Data Lakehouse
W tym artykule opisano zasady architektury filara wydajności , odnoszące się do zdolności systemu do dostosowania się do zmian obciążenia.
Zasady wydajności
Używanie architektur bezserwerowych
Architektury bezserwerowe nie wymagają od klientów obsługi i utrzymywania infrastruktury obliczeniowej w chmurze. Eliminuje to nakłady operacyjne związane z zarządzaniem infrastrukturą chmury i zmniejsza koszty transakcji, ponieważ usługi zarządzane działają na dużą skalę chmury. Zapewniają one również natychmiastową dostępność, gotowe zabezpieczenia i wymagają minimalnej konfiguracji lub administracji.
Projektowanie obciążeń pod kątem wydajności
W przypadku powtarzających się obciążeń, takich jak potoki inżynierii danych, wydajność nie powinna być czynnikiem drugorzędnym. Dane muszą być następujące:
- Wydajne odczytywanie z pamięci obiektu.
- Wydajne przekształcanie.
- Efektywna publikacja do konsumpcji.
Ponadto większość przepływów lub wzorców zużycia korzysta z łańcucha systemów. Aby osiągnąć najlepszą możliwą wydajność, cały łańcuch należy wziąć pod uwagę i wybrać w celu uzyskania najlepszej wydajności.
Uruchamianie testów wydajnościowych w zakresie rozwoju
Każde obciążenie programistyczne musi przechodzić ciągłe testowanie wydajności. Testy zapewniają, że każda zmiana bazy kodu nie wpływa negatywnie na wydajność obciążenia. Ustanów regularny harmonogram uruchamiania testów. Uruchom test w ramach zaplanowanego zdarzenia lub w ramach potoku ciągłej integracji i kompilacji.
Ustanów punkty odniesienia wydajności i określ bieżącą wydajność obciążeń i infrastruktury pomocniczej. Mierzenie wydajności względem punktów odniesienia może zapewnić strategie poprawy i określić, czy aplikacja spełnia cele biznesowe.
Zidentyfikuj wąskie gardła, które mogą mieć wpływ na wydajność. Te wąskie gardła mogą być spowodowane błędami w kodzie lub błędną konfiguracją usługi. Zazwyczaj wąskie gardła get pogarszają się w miarę wzrostu obciążenia.
Monitorowanie wydajności
Upewnij się, że zasoby i usługi pozostają dostępne, a wydajność spełnia oczekiwania użytkowników lub wymagania dotyczące obciążenia. Monitorowanie może pomóc zidentyfikować wąskie gardła lub niewystarczające zasoby, konfiguracje optimize oraz wykryć błędy potoków/obciążeń.