Operasyonlar ve Yönetim Performans Metrikleri
Performans Metrikleri
1) Neden performans metrikleri
Performans, bir sistemin belirli bir maliyetle yanıt süresi ve verimde hedef SLO'ları sağlama yeteneğidir. Metrikler olmadan imkansızdır:- Olaylardan önce bozulmayı tespit etmek,
- Kapasite ve bütçe tahmini,
- Alternatifleri karşılaştırın (önbellek vs DB, gRPC vs REST),
- Salım sonrası regresyonları yönetin.
İlkeler: tek bir metrik sözlüğü, yüzdelere göre toplama (p50/p90/p95/p99), "sıcak've" soğuk "yollar için ayrı muhasebe, bağlam (sürüm, bölge, sağlayıcı, cihaz).
2) Metriklerin taksonomisi
2. 1 Temel SRE çerçeveleri
Dört altın sinyal: Gecikme, Trafik, Hatalar, Doygunluk.
KIRMIZI (mikro hizmetler için): Hız, Hatalar, Süre.
KULLANIM (donanım için): Kullanım, Doygunluk, Hatalar.
2. 2 Seviye
Altyapı: CPU, RAM, disk, ağ, konteynerler, düğümler.
Platform/Hizmetler: API uç noktaları, kuyruklar, önbellekler, veritabanları, olay veri yolları.
Müşteri deneyimi: Web Hayati, mobil SDK'lar, akış, CDN.
Veri platformu: ETL/ELT, akışlar, vitrinler, BI gecikmeleri.
Kritik iş akışı: yetkilendirme, KYC, para yatırma/ödeme, oyun turları.
3) Temel metriklerin ve formüllerin kataloğu
3. 1 API ve mikro hizmetler
RPS (Saniyede İstek).
Gecikme süresi p50/p95/p99 (ms) - tercihen "uçtan uca've" yalnızca arka uç ".
Hata Oranı (%) = 5xx + 4xx validated/all requests.
Doygunluk: Ortalama işçi kuyruk uzunluğu, uçuş içi talepler.
Soğuk Başlangıç Oranı (FaaS için).
Kısma/Düşürme İstekleri.
SLO örneği: AB-Doğu bölgesinde 2k'ya kadar RPS ile 250 ms ≤ p95 gecikme; Hata ≤ 0. 5%.
3. 2 Veritabanları
QPS/Transactions/s, avg/median sorgu zamanı, p95 sorgu zamanı.
Bekleme/Kilitlenme Kilitlerini Kilitle, Satır/Dizin Isabet Oranı, Arabellek Önbelleği Özledim %.
RepLag (çoğaltma), Checkpoint/Flush time, Autovacuum lag.
Hot Keys/Skew - yüke göre üst N tuşları.
"Çekirdek İstekler" için formül: QPS/ vCPU_core_count - sharding için bir sinyal.
3. 3 Önbellek ve CDN
Vuruş Oranı (%), Tahliyeler/s, Gecikme p95, Öğe Boyutu yüzdelik dilimleri.
Köken Aktarımı (%) для CDN, TTFB, Stale-while-revalidate hit %.
3. 4 Kuyruklar/Akışlar
Giriş/çıkış msg/s, Tüketici Gecikmesi, Yeniden dengeleme oranı.
İşlem Süresi p95, DLQ Oranı.
3. 5 Altyapı/Konteynerler
CPU Kullanımı %, CPU Throttle %, Run Queue uzunluğu.
Bellek RSS/Çalışma Seti, OOM öldürür, Sayfa Hataları.
Disk IOPS/Gecikme/Verim, Ağ RTT/yeniden iletimler.
Düğüm Doygunluğu: bekleyen bölmeler, basınç (CPU/Bellek/IO).
3. 6 Web İstemcisi (UX)
Çekirdek Web Hayati: LCP, INP, CLS.
TTFB, FCP, TTI, Kaynak Zamanlaması (DNS, TLS, TTFB, indir).
Hata Oranı (JS), Uzun Görevler, SPA rota değişim zamanı.
CDN Geo-Latency (persentil).
3. 7 Mobil istemci
Uygulama Başlangıç zamanı (soğuk/sıcak), ANR oranı, Çökmesiz oturumlar %.
Ağ gidiş-dönüş/oturum, Yük boyutu, Pil boşaltma/oturum.
Çevrimdışı başarı oranı.
3. 8 Veri platformu ve raporlama
Tazelik Gecikmesi (T-now - витрина), Verim satırları/satırları, İş Başarısı %.
İşlenen TB başına maliyet, Taraflara göre eğriltme, Geç olaylar %.
Anahtar panoları için BI Time-to-Render p95.
3. 9 Etki alanı açısından kritik akış (örnek olarak iGaming)
Auth p95, KYC TTV (Doğrulama Süresi), Para Yatırma/Çekme p95.
Oyun Yuvarlak Süre p95, RNG çağrı gecikme, Sağlayıcı RTT p95.
Ödeme PSP başarı oranı, Chargeback soruşturması SLA.
4) Normalleştirme, yüzdelik dilimler ve atıf
Ortalamalara karşı yüzdeler: p50/p90/p95/p99'u düzeltin - ortalamalar pik ağrıyı düzeltir.
Bölümler: uygulama sürümü, bölge, sağlayıcı, ağ kanalı (4G/Wi-Fi), cihaz.
Korelasyon: Nedensel zincirler için "yalnızca arka uç've" gerçek kullanıcı "metriklerini ilişkilendiririz.
Örnekler/İzler: Aşırı persentilleri izlerle ilişkilendirir.
5) Eşikler ve uyarılar (yaklaşık ızgara)
Gecikme p95 (çekirdek API): uyarı> 250 ms, kritik> 400 ms 5 dakika üst üste.
Hata oranı: uyarı> 0. %5, kritik> %2 (uç nokta, global değil).
DB RepLag: uyarı> 2 s, kritik> 10 s.
Kafka consumer lag (time): uyarı> 30 s, kritik> 2 dk.
Web LCP (p75): uyarı> 2. 5 s, kritik> 4 s.
Mobil ANR: uyarı> 0. %5, kritik> %1.
ETL Tazelik: uyarı> + 15 dakika, kritik> + 60 dakika от SLA.
Statik + uyarlanabilir eşikler (mevsimsellik, günlük düzenler), veri tekilleştirme ve uyarıların hizmetlere/sürümlere göre gruplandırılmasını kullanıyoruz.
6) Performans testi
Türleri: taban çizgisi, stres, uzun süreli (ıslatma), kaos (degrade links/PSP).
Yük profilleri: gerçek işlemler için (dağıtım tabanlı), "patlamalar", bölgesel zirveler.
Hedefler: Hedef RPS ve mix işlemleri, geri basınç doğrulama ile SLO başarısı.
Run metrics: Throughput, Error %, p95 latency, GC pause, CPU throttle, queue lag, cost/run.
Regresyon kuralı: p95, eşit bir profile sahip> %10 düşürülmemişse ve isteğin maliyeti (CPU-ms/request)> %15 artmamışsa, sürüm başarılı kabul edilir.
7) Kapasite planlaması ve fiyat/performans
Talep modeli: Saatlik RPS × ortalama iş/istek (CPU-ms, IO-ops).
Headroom: Kritik yollar için %30-50 marj, P95 göre otomatik ölçeklendirme.
Maliyet KPI'ları: 1k istekleri başına maliyet, Sunulan GB başına maliyet, 1 p. p. p. başına $ LCP iyileştirmeleri.
Önbellekleme/denormalizasyon: "Önbellek ROI" = (CPU-ms tasarruf − önbellek maliyeti) okuyun.
Sıcak ve soğuk bölgeler: CDN/edge'e boşaltma, salt okunur çoğaltma.
8) Gözlemlenebilirlik ve profilleme uygulamaları
İzler: tüm şerbetçiotlarına dağıtılmış iz kimlikleri; örnekleme akıllıdır (kuyruk tabanlı).
Metrikler: Prometheus/OpenTelemetry, isimlerin ve etiketlerin tek gösterimi.
Günlükler: izleme korelasyonu/yayılma alanı, günlük gürültüsüne bütçe, PII düzenleme.
Profil: CPU/Heap/Alloc/Lock profilleri, sürekli profil oluşturma (eBPF).
Örnek örnekler: p99 patlamalarını belirli bir span/SQL/PSP çağrısı ile ilişkilendirin.
9) Yayın ve ekip metrikleri (bütünlük için)
DORA: Dağıtım Frekansı, Teslim Süresi, Değişim Arıza Oranı, MTTR.
UZAY: memnuniyet, performans, etkinlik, iletişim, verimlilik.
Bu metrikler demir ile ilgili değildir, ancak performansın istikrarını doğrudan etkiler.
10) Anti-desenler
Ortalamaları takip etmek: p95/p99'u göz ardı etmek.
"Global" hata oranı: ağrılı uç noktaları gizler.
Versiyonlara göre atıf olmadan: istemci regresyonlarını yakalamak imkansızdır.
Uyarı spam: histerezis ve mevsimsellik düzeltme olmadan eşikler.
Kör optimizasyon: derecelendirme veya iz yok.
UX ve arka uç gecikmesini karıştırma: Müşteri deneyiminden yanlış sonuçlar.
11) Kontrol listeleri
Birleşik metrik standart
- Formüller, birimler, sahipler ile metrik sözlüğü
- Zorunlu yüzdelik p50/p90/p95/p99
- İz korelasyonu ve log korelasyonu
- Etiketler: bölge, sürüm, sağlayıcı, cihaz, ağ kanalı
- Histerezis ve veri tekilleştirme ile eşikler
Yayınlanmadan Önce
- Sahnede ve prod'da taban çizgisi p95/p99
- Kanarya trafiği + A/B metrik karşılaştırması
- Hızlı Geri Alma Bayrağı Özelliği
- Gözlem runbook
Düzenli olarak
- En Yavaş Top N Sorgusu/SQL İncelemesi
- Denetim Önbelleği Politikaları ve TTL
- Tazelik Kontrolü ve Veritabanı Çoğaltma
- Harici sağlayıcı bozunma testleri (PSP, KYC)
12) Mini oyun kitapları (örnek)
Bozunma p95/api/payments
1. Hata % ve PSP harici zaman aşımlarını kontrol edin.
2. Tüketici gecikme kuyruğu collbecks kontrol edin.
3. View p99 examples trace SQL/HTTP darboğazı?
4. Dizin/limit önbelleğini etkinleştir, N + 1 değerini azalt.
5. Bütçe: geçici olarak işçi kaynaklarını %20 oranında artırır, otomatik ölçeklendirmeyi içerir.
6. Düzeltme sonrası: index by (psp_id, durum, created_at), retray-jitter.
DB'de RepLag büyümesi
1. "Ağır" istekleri ve uzun işlemleri kontrol edin.
2. Çoğaltma eşzamanlılığını artırın, denetim noktasını ayarlayın.
3. Salt okunur önbelleği/replikayı boşaltın.
4. Tepe pencerelerinde - kısmi denorm + partiler.
13) Formül/SQL örnekleri (basitleştirilmiş)
Endpoint tarafından hata oranı
sql
SELECT endpoint,
100. 0 SUM(CASE WHEN status >= 500 THEN 1 ELSE 0 END) / COUNT() AS error_pct
FROM http_logs
WHERE ts >= now() - interval '5 minutes'
GROUP BY 1
HAVING COUNT() > 500;
Gecikme p95 (TDiggest/Yaklaşık)
sql
SELECT endpoint, approx_percentile(latency_ms, 0. 95) AS p95_ms
FROM http_metrics
WHERE ts >= date_trunc('hour', now())
GROUP BY 1;
Tüketici Gecikmesi (zaman)
sql
SELECT topic, consumer_group,
max(produced_ts) - max(consumed_ts) AS lag_interval
FROM stream_offsets
GROUP BY 1,2;
Web LCP p75
sql
SELECT approx_percentile(lcp_ms, 0. 75) AS lcp_p75
FROM web_vitals
WHERE country = 'UA' AND device IN ('mobile','tablet')
AND ts >= current_date;
14) Panolara gömme ve raporlama
KPI kartları: p95 gecikme, hata %, RPS, WoW/DoD eğilimleri ile doygunluk.
En üstteki N'en kötü "uç nokta/SQL/kaynaklar, tıklanabilir dizin - izleme.
İstemci sürümü korelasyonu: sütun "sürüm> p95 LCP/INP - dönüşüm".
Dünya Haritası: Coğrafi gecikme (CDN), bölgeye göre PSP gecikmesi.
SLO paneli: SLO'da zaman payı, SLO'dan gelen çökmeler, "hata bütçesi".
15) Toplam
Performans ölçümleri bir sistem disiplinidir: tek kelime, yüzdelik, atıf, iyi gözlemlenebilirlik ve sıkı SLO'lar. Teknik (gecikme, gecikmeler, önbellek isabetleri) ve ürün sinyallerini (KYC süresi, p95 depozito, LCP) birleştirerek, deneyimin kalitesini ve bunu sağlamanın maliyetini yönetirsiniz - öngörülebilir ve ölçeklenebilir.