Przewidywanie obciążenia i ryzyka
1) Dlaczego go potrzebujesz
Prognozowanie obciążenia i ryzyka zapewnia możliwość przygotowania z wyprzedzeniem infrastruktury i procesów dla wydarzeń szczytowych (zwolnień, turniejów, kampanii promocyjnych, meczów, wakacji), zminimalizowania przestojów i przekroczeń budżetu. Wyniki są wykorzystywane do:- Planowanie zdolności i budżetowanie
- Ustawienia SLO/SLI, budżety błędów i zasady ostrzegania
- wybór strategii uwolnienia (kanaryjski, niebiesko-zielony, ciemny start);
- zarządzanie ryzykiem: zapobieganie degradacji, kolejki, transakcje spadkowe, grzywny SLA.
2) Podstawowe pojęcia
Obciążenie-Szybkość przychodzących zdarzeń/operacji (RPS, TPS, wydarzenia/sec), a także zużycie procesora/pamięci RAM/IO/NET.
Wydajność-Konsekwentnie osiągalna wydajność przy danym SLO i kosztach.
Ryzyko: prawdopodobieństwo × wpływ niepożądanego zdarzenia (awaria SLA, incydent, nadmierne wydatki).
Wczesne wskaźniki: wskaźniki rosnące przed incydentem (opóźnienie p95/p99, głębokość kolejki, pauzy GC, wskaźnik błędów, nasycenie).
Zagłówek-Stosunek dostępnej pojemności do bieżącego obciążenia.
3) Źródła i mierniki danych
Źródła: dzienniki i mierniki (Prometheus/OTel), ślady, wydarzenia biznesowe (Kafka), dzienniki CDN/WAF/ALB, dane marktechowe (kampanie), kalendarze wydarzeń, rachunki/kości (FinOps), ficheflagi/wydania, kolejki (Kafka/Królik), DB/bufory.
Kluczowe wskaźniki:- Ruch: RPS/TPS, aktywni użytkownicy (DAU/MAU), sesje, konwersja kroków.
- Wydajność: latency p50/p95/p99, przepustowość, błędy (4xx/5xx), timeouts, retries.
- Рескрса: CPU/LoadAvg, RAM/GC, dysk IOps/lat, sieć bw, korzystanie z puli połączeń.
- Kolejki: zaległości, opóźnienia, opóźnienia konsumenckie, czas w kolejce.
- М, QPS, lock waits, slow queries, replication lag.
- Кука: współczynnik trafienia, wskaźnik eksmisji, klawisze gorące.
- Poziom działalności: depozyty/stawki za minutę, odmowy płatności, kolejka KYC/AML.
- Niezawodność: SLI/SLO, szybkość spalania budżetu błędu (1h/6h/24h).
4) Podstawowe modele prognozowania
1. Deterministyczny i kalendarz: regresja na znanych kierowców (data/czas, mecze, turnieje, baseny rynkowe, geo, puchary giełdowe).
2. Statystyka: sezonowość/trend (ARIMA/ETS), regresja z wakacjami, podejścia Proroka.
3. ML/zespoły: zwiększanie gradientu/losowy las/XGBoost/GBM; Dodaj funkcje: pogoda, kurs wymiany walut, wiadomości sportowe, wydarzenia konkurujące.
4. Mieszane: statystyki dotyczące sezonowości wyjściowej + ML dla czynników egzogennych (kampanie, uwolnienia).
5. Kontyngenty/kwantyle: prognoza nie tylko średniej, ale również p90/p95 dla planowania zagłówka.
Wyjścia modelu: przewidywanie rozkładu RPS/TPS i opóźnień/błędów w horyzoncie T + 1h/T + 24h/T + 7d/T + 30d z przedziałami ufności.
5) Kolejki i limity: Mini teoria
Prawo małego: L = α × W (średnia liczba w układzie = intensywność × średni czas).
Wąskie gardła: DB/cache/bus/pool połączenia/limit dostawcy API.
Nasycenie: przy obciążeniu> 70-80% opóźnienia zwiększa się nieliniowo.
Obciążenie zwrotne: ochrona konsumentów przed przeciążeniem (ograniczenia, kolejki, polityka rzucania, degradacja funkcji).
6) Planowanie przepustowości
Metoda SLO: wymagana opóźnienie p99 i akceptowalny poziom błędu →, który przepustowość utrzymuje się przy zagłówku N%.
Metoda „ze scenariuszy”: „Mecz Ligi Mistrzów”, „Czarny Piątek”, „Turniej wielkoszlemowy” → górne kwantyle ruchu + awaria jednego AZ/węzła.
Metoda „cost-aware”: wybierz konfiguracje przez $/RPS, biorąc pod uwagę rabaty, rezerwacje, spot/subskrypcje, autoskalowanie.
Artefakty: Model pojemności na usługę, limity i kwoty (API, DB, kolejki), wąskie gardło → tabela działania (shading, buforowanie, replika, CQRS, async).
7) Zarządzanie ryzykiem
Rejestr ryzyka: identyfikacja, opis, prawdopodobieństwo, wpływ (finansowanie/SLA/regulacja), właściciele, plany zapobiegania/reagowania.
Kategorie: obciążenie (przeciążenie), infrastruktura (awaria AZ/region), zależność (dostawcy płatności), zwolnienie (regresja), produkt (kampania wzrosła mocniej niż oczekiwania), zgodność (ograniczenia/regulator).
Matryca: mapa grzewcza (niska/średnia/wysoka × uderzenie).
KRI (kluczowe wskaźniki ryzyka): głębokość kolejki, wzrost p99, spadek współczynnika trafienia, szybkość spalania> 2 ×, błędy dostawcy.
8) Wczesne ostrzeganie i ostrzeganie
Wczesne ostrzeganie SLIs: wzrost p95, spadek trafień w pamięci podręcznej, wzrost opóźnienia ogona, wzrost wsteczny/czasowy, wzrost opóźnień konsumenckich.
Powiadomienia o błędach budżetowych: szybkie (1h) i powolne (6-24h) okna.
Progi i wpisy oparte na nieprawidłowościach: progi wyjściowe + modele anomalii (IQR, STL, detektory strumieniowe).
Agregacja sygnału: korelacja zdarzeń uwalniania/ficheflagu/kampanii z degradacją.
9) Analiza scenariusza i „co-jeśli”
„Jeśli wzrost ruchu + 60% w 10 minut?”
„Jeśli CDN/WAF zmniejszy 5% legalnego ruchu?”
„Jeśli dostawca usług płatniczych straci 30% zezwoleń?”
Dla każdego scenariusza: przewidywane wskaźniki, wąskie gardła, etapy degradacji (wyłączenie funkcji innych niż krytyczne), podręcznik/automatyczna skala, dostawcy przełączania.
10) Badanie i weryfikacja prognoz
Badania obciążenia: ruch syntetyczny (k6/JMeter/szarańcza), profile mieszanki rzeczywistej.
Dni gry/Chaos: wyłączyć AZ, zdegradować bazę danych, wyczerpać basen.
Cień/ciemność: ruch „w cieniu” nowej ścieżki bez wpływu na prod.
Dokładność retrospektywna: MAPE/SMAPE/RMSE + pośmiertnie "gdzie się mylisz? ”.
11) Procesy i role
RACI:- Odpowiedzialny: analitycy SRE/Platform/DS.
- Odpowiedzialny: szef OPS/SRE.
- Konsultacja: Dev Leads, Marketing, Finance (FinOps).
- Informacja: Wsparcie/Zgodność/Biznes.
- Cadence: cotygodniowe aktualizacje prognoz, miesięczne zmiany SLO/Pojemność, pokoje przed-wydarzenie var.
12) Narzędzia i stosy
Dane: Kafka, ClickHouse/اQuery, Lake/DWH, dbt.
Monitorowanie: Prometeusz, Grafana, Tempo/Jaeger, Loki/ELK, OTel.
ML/Prognozy: Airflow/Argo, sklep z funkcjami, modele ARIMA/ETS/GBM, usługi prognozowane (gRPC/REST).
Теста: k6/JMeter/Locust, wtrysk uszkodzony/siatka chaosu.
Zarządzanie: Flagi funkcji, Autoskalowanie (HPA/KEDA), Policy-as-Code.
FinOps: explorer kosztów, showback/chargeback, $/RPS deski rozdzielcze.
13) Praktyka wdrażania (mapa drogowa)
1. Spis mierników i zależności → mapa ścieżki krytycznej (depozyt, szybkość, wyjście).
2. SLO/SLI i budżetów błędów → cel p95/p99, wskaźniki błędów, wpisy spalania.
3. Gromadzenie i czyszczenie danych → pojedyncza warstwa zdarzeń/metrycznych, deduplikacja, opóźnienie.
4. Podstawowa prognoza sezonowości → schematy dzień/tydzień, wakacje/mecze.
5. Ekspansja przez kierowców → kampanie rynkowe, wydania, geo, okna płatnicze.
6. Modele pojemności według usług → zagłówek, ograniczenia, wąskie gardła, plan optymalizacji.
7. Scenariusz „co-jeśli” i tabela degradacji (wyłączniki, tylko do odczytu, łaska).
8. Weryfikacja poprzez badania/cienie → regulacja modeli i progów.
9. Rutyna operacyjna → prognozy tygodniowe, recenzje przed wydarzeniem, retro po wydarzeniu.
10. Automatyzacja → autoskale według prognozy, automatyczne przełączanie dostawców, auto-phicheflags.
14) Antypattery
Prognoza „tylko średnie” bez ogonów p95/p99.
Ignorowanie kolejek i basenów - problemy pojawiają się na szczycie.
Ręczne oko bez mierników walidacji i dokładności.
Nie ma łącza → koszty nadmiernego skalowania.
Brak planu degradacji i ficheflagów.
15) Deski rozdzielcze i sprawozdawczość
Deska rozdzielcza Exec: prognoza RPS/TPS (p50/p90/p95), zagłówek, karta ryzyka, szybkość spalania.
Tech-dashboard: p95/p99 latency by services, kolejki/lag, hit-ratio, connection pool, database/cache, zewnętrzne limity API.
Finanse: $/RPS, prognoza kosztów, efekt optymalizacji.
Dokładność prognozy: rzeczywista v prognoza, okres/geo/błąd kanału.
16) Wzory artefaktów
Rejestr ryzyka: identyfikator, ryzyko, prawdopodobieństwo/wpływ, właściciel, KRI, plan zapobiegania, plan reakcji.
Arkusz pojemności: usługa, przepustowość prądu, limit, wąskie gardło, zagłówek, wymagana rozbudowa, ETA/koszt.
What-If Cards: scenariusz, czynniki wejściowe, oczekiwane wskaźniki, działania, kryteria realizacji.
Playbook Degrade: lista funkcji do wyłączenia, poziomy QoS, trasy pamięci podręcznej/statycznej, limity retry/timeout.
17) Kluczowe funkcje KPI
Wykonanie SLO (% okresów w celu), czas reakcji na wczesne wskaźniki, dokładność prognozy (MAPE/SMAPE), liczba incydentów spowodowanych przeciążeniem, udział automatycznego skalowania, oszczędności $/RPS bez degradacji SLO.
Razem
System prognozowania obciążenia i ryzyka to pakiet: dane jakościowe → znaczące wskaźniki → sprawdzalne modele → scenariusze i playbooks → automatyzacja skalowania i degradacji. Ten kontur zapewnia stabilność, przewidywalność kosztów i stabilne doświadczenie użytkownika nawet na skrajnych szczytach.