Operatsiyalar va boshqaruv → Unumdorlik metrikasi
Unumdorlik metrikasi
1) Nima uchun unumdorlik metrikasi kerak?
Unumdorlik - bu tizimning belgilangan narxda javob berish vaqti va o’tkazish qobiliyati bo’yicha maqsadli SLOlarni ta’minlash qobiliyatidir. Metrlarsiz mumkin emas:- hodisalargacha tanazzullarni aniqlash,
- hajm va budjetni prognoz qilish,
- muqobil yechimlarni solishtirish (kesh vs DB, gRPC vs REST),
- relizlardan keyin regressiyalarni boshqarish.
Prinsiplari: metriklarning yagona lug’ati, pertsentillar bo’yicha agregatsiya qilish (p50/p90/p95/p99), «issiq» va «sovuq» yo’llarni alohida hisobga olish, kontekst (versiya, mintaqa, provayder, qurilma).
2) Metriklarning taksonomiyasi
2. 1 Asosiy SRE doirasi
To’rtta oltin signal: Latency, Traffic, Errors, Saturation.
RED (mikroservislar uchun): Rate, Errors, Duration.
USE (temir uchun): Utilization, Saturation, Errors.
2. 2 Darajalar
Infratuzilma: CPU, RAM, disk, tarmoq, konteynerlar, uzellar.
Platforma/Services: API-endpointlar, navbatlar, keshlar, DB, voqealar shinalari.
Mijoz tajribasi: Web Vitals, mobil SDK, striming, CDN.
Maʼlumot platformasi: ETL/ELT, oqim, vitrinalar, BI kechikishlar.
Biznes-tanqidiy flou: avtorizatsiya, KYC, depozitlar/to’lovlar, o’yin-raundlar.
3) Asosiy metriklar va formulalar katalogi
3. 1 API va mikroservis
RPS (Requests per second).
Latency p50/p95/p99 (ms) - «end-to-end» va «backend-only».
Error Rate (%) = 5xx + validatsiya qilinadigan 4xx/barcha soʻrovlar.
Saturation: Vorkerlar navbatining oʻrtacha uzunligi, «in-flight» soʻrovlari.
Cold Start Rate (FaaS uchun).
Throttling/Dropped Requests.
SLO misol: p95 latency ≤ 250 ms EU-East mintaqasida RPS 2k gacha; xatolar ≤ 0. 5%.
3. 2 Maʼlumotlar bazasi
QPS/Transactions/s, avg/median query time, p95 query time.
Lock Waits / Deadlocks, Row/Index Hit Ratio, Buffer Cache Miss%.
RepLag (replikatsiya), Checkpoint/Flush time, Autovacuum lag.
Hot Keys/Skew - yuk bo’yicha eng yaxshi N kalitlari.
«Yadro so’rovlari» formulasi: QPS/ vCPU_core_count → shardalash uchun signal.
3. 3 Kesh va CDN
Hit Ratio (%), Evictions/s, Latency p95, Item Size percentiles.
Origin Offload (%) для CDN, TTFB, Stale-while-revalidate hit%.
3. 4 Navbatlar/oqimlar
Ingress/egress msg/s, Consumer Lag (xabarlar/vaqt), Rebalance rate.
Processing Time p95, DLQ Rate.
3. 5 Infratuzilma/konteynerlar
CPU Utilization %, CPU Throttle %, Run Queue length.
Memory RSS/Working Set, OOM kills, Page Faults.
Disk IOPS/Latency/Throughput, Network RTT/ retransmits.
Node Saturation: pods pending, pressure (CPU/Memory/IO).
3. 6 Web-mijoz (UX)
Core Web Vitals: LCP, INP, CLS.
TTFB, FCP, TTI, Resource Timing (DNS, TLS, TTFB, download).
Error Rate (JS), Long Tasks, SPA route change time.
CDN Geo-Latency (pertsentil).
3. 7 Mobil mijoz
App Start time (cold/warm), ANR rate, Crash-free sessions %.
Network round-trips/session, Payload size, Battery drain/session.
Offline success rate (keshirlangan operatsiyalar).
3. 8. Data-platforma va hisobot
Freshness Lag (T-now → витрина), Throughput rows/s, Job Success %.
Cost per TB processed, Skew partiyalar boʻyicha, Late events%.
BI Time-to-Render p95 asosiy dashbordlar uchun.
3. 9 Domen-tanqidiy flou (iGaming misol sifatida)
Auth p95, KYC TTV (Time-to-Verify), Deposit/Withdrawal p95.
Game Round Duration p95, RNG call latency, Provider RTT p95.
Payment PSP success rate, Chargeback investigation SLA.
4) Normalizatsiya, pertsentil va atributsiya
P50/p90/p95/p99 o’rtacha og’riqni yumshatadi.
Kesmalar: ilova versiyasi, mintaqa, provayder, tarmoq kanali (4G/Wi-Fi), qurilma.
Korrelyatsiya: sabab-oqibat zanjirlari uchun «backend-only» va «real-user» metrikalarini bog’laymiz.
Exemplars/Traces: ekstremal pardani trassalar bilan bogʻlaymiz.
5) Ostonalar va alertlar (namunaviy setka)
Latency p95 (core API): warning> 250 ms, critical> 400 ms 5 min ketma-ket.
Error rate: warning > 0. 5%, critical> 2% (endpoint boʻyicha, global emas).
DB RepLag: warning > 2 s, critical > 10 s.
Kafka consumer lag (time): warning > 30 s, critical > 2 min.
Web LCP (p75): warning > 2. 5 s, critical > 4 s.
Mobile ANR: warning > 0. 5%, critical > 1%.
ETL Freshness: warning > +15 min, critical > +60 min от SLA.
Statik + moslashuvchan chegaralar (mavsumiylik, kunduzgi shablonlar), deduplikatsiya va servislar/relizlar bo’yicha alertlarni guruhlashdan foydalanamiz.
6) Unumdorlikni sinovdan o’tkazish
Turlari: baseline, stress, uzoq muddatli (soak), xaos (degrade links/PSP).
Yuklash profillari: haqiqiy treyslar (distribution-based), «burstlar», mintaqaviy cho’qqilar bo’yicha.
Maqsadlar: maqsadli RPS va mix operatsiyalarda SLOga erishish, backpressure validatsiyasi.
Progn metrikasi: Throughput, Error%, p95 latency, GC pauzalar, CPU throttle, queue lag, cost/run.
Regressiya qoidasi: agar p95> 10% ga teng profil bilan yomonlashmasa va so’rov qiymati (CPU-ms/so’rov)> 15% ga oshmasa, reliz muvaffaqiyatli hisoblanadi.
7) Sig’imni rejalashtirish va narx/unumdorlik
Demand model: RPS soatlar boʻyicha × oʻrtacha ish/soʻrov (CPU-ms, IO-ops).
Headroom: tanqidiy yo’llar uchun zaxiraning 30-50%, P95 bo’yicha auto-scaling.
Cost KPIs: Cost per 1k requests, Cost per GB served, $ per 1 p. p. LCP yaxshilash.
Kesh/denormalizatsiya: «cache ROI» = (CPU-ms tejash − kesh qiymati) deb hisoblansin.
Issiq va sovuq mintaqalar: CDN/edge’dagi offload, «faqat oʻqish» replikatsiyasi.
8) Kuzatish va profillash amaliyotlari
Trassalar: barcha hop’lar orqali taqsimlangan trace-ID; aqlli semplash (tail-based).
Metriklar: Prometheus/OpenTelemetry, nomlar va yorliqlarning yagona notasi.
Loglar: trace/span bo’yicha korrelyatsiya bilan, budget log-shovqin, PII tahrirlash.
Profillashtiruvchilar: CPU/Heap/Alloc/Lock profiles, uzluksiz profillash (eBPF).
Namunalar: p99 portlashlarini aniq span/SQL/PSP koll bilan bogʻlaymiz.
9) Relizlar va komandalar metrikasi (to’liqligi uchun)
DORA: Deployment Frequency, Lead Time, Change Failure Rate, MTTR.
SPACE: qoniqish, unumdorlik, faollik, aloqa, samaradorlik.
Bu ko’rsatkichlar temir haqida emas, balki unumdorlikning barqarorligiga bevosita ta’sir qiladi.
10) Anti-patternlar
O’rtacha ta’qib qilish: p95/p99 ga e’tibor bermaslik.
«Global» error rate: og’riqli endpoyntlarni yashiradi.
Versiyalar boʻyicha atributsiz: mijozning regressiyalarini ushlab boʻlmaydi.
Alert-spam: gisterezis va mavsumiylikni tuzatishsiz ostonalar.
Ko’r-ko’rona maqbullashtirish: profillash va trassirovkalarning yo’qligi.
UX va backend latency aralashmasi: mijoz tajribasi boʻyicha notoʻgʻri xulosalar.
11) Chek-varaqlar
Metriklarning yagona standarti
- Formulalar, birliklar, egalari bo’lgan metriklar lug’ati
- Majburiy pertsentili p50/p90/p95/p99
- Treys-korrelyatsiya va log-korrelyatsiya
- Tags: mintaqa, versiya, provayder, qurilma, tarmoq kanali
- Gisterezis va deduplikatsiyaga ega bo’lgan chegaralar
Chiqarishdan oldin
- Beisline p95/p99 steyj va proda
- Kanar trafigi + A/B metriklarini taqqoslash
- Tez qaytadigan ficha bayrog’i
- Kuzatuv rejasi (observability runbook)
Muntazam
- Eng sekin so’rovlar/SQL
- Kesh-siyosatchi va TTL auditi
- Freshness va DB replikatsiyalarini tekshirish
- Tashqi provayderlarning degradatsiya testlari (PSP, KYC)
12) Mini-pleybuklar (misol)
Degradatsiya p95/api/payments
1. Error% va tashqi PSP taymautlarini solishtirish.
2. Kolbeklarning consumer lag navbatini tekshirish.
3. Trace p99 misollarini koʻrish: SQL/HTTP tor joyi?
4. Maʼlumotlar/limitlar keshini yoqish, N + 1 ni kamaytirish.
5. Budjet: vorker resurslarini vaqtincha 20% ga oshirish, autoscale-ni kiritish.
6. Post-fix: indeks bo’yicha (psp_id, status, created_at), retray-jitter.
RepLag ning DBdagi o’sishi
1. «Ogʻir» soʻrovlar va uzoq tranzaksiyalarni tekshirish.
2. Replikatsiya parallelligini oshirish, checkpoint ni sozlash.
3. Kesh/nusxa oʻqishni faqat oʻqish uchun offload.
4. Eng yuqori oynalarda - qisman denorm + batchi.
13) Formulalar/SQL namunalari (soddalashtirilgan)
Error Rate endpoint
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;
Latency p95 (TDigest/Approx)
sql
SELECT endpoint, approx_percentile(latency_ms, 0. 95) AS p95_ms
FROM http_metrics
WHERE ts >= date_trunc('hour', now())
GROUP BY 1;
Consumer Lag (vaqt)
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) Dashbordlar va hisobotlarga kiritish
KPI kartochkalari: p95 latency, error%, RPS, WoW/DoD trendlari bilan saturation.
Top-N «eng yomon» endpointlar/SQL/resurslari, bosiladigan drill-down → trace.
Mijoz versiyalarining korrelyatsiyasi: «versiya → p95 LCP/INP → konvertatsiya» grafasi.
Dunyo xaritasi: geo-latency (CDN), PSP latency.
SLO paneli: SLOda vaqt ulushi, SLOdan uchish, «xatolar byudjeti».
15) Yakunlar
Unumdorlik metrikasi - bu tizimli intizom: yagona lugʻat, qalam, atributsiya, yaxshi kuzatuv va qattiq SLO. Texnik (yashirin, laglar, kesh-xitlar) va oziq-ovqat (KYC vaqti, p95 depozit, LCP) signallarini birlashtirib, siz tajriba sifati va yetkazib berish narxini oldindan aytib bo’lmaydigan darajada boshqarasiz.