GH GambleHub

KPI ենթակառուցվածքը aptaim

Ինչու՞ է դա անհրաժեշտ

KPI ենթակառուցվածքները վերածում են «զգացմունքները» կայունության մասին չափելի նպատակների, կառավարում են աշխատանքի իրականացումը և կիզակետը։ Ճիշտ մետրիկները կապում են տեխնոլոգիական SLI-ն բիզնես արդյունքների հետ (փոխադարձություն, Time-to-Wallet, LTV) և թույլ են տալիս պլանավորել զարգացումը, բեռը և vs հուսալիության նորարարությունները։

Հիմնական հասկացությունները ՝ SLI, SLO, SLA և սխալների բյուջե

SLI (Systel Level Indications) - չափված որակի ցուցանիշը 'հաջողակ հարցումների մասը, p95 latency, aptaim համար։

SLO (No Level Objective) - SLI-ի նպատակը (օրինակ ՝ "հաջողության թիվ 99։ 9 տոկոսը 30 օրվա ընթացքում")։

SLA (Agream) - արտաքին խոստում, որը չունի/վարկեր։ Միշտ արտադրվում է SLO-ից, բայց ոչ նրան։

Սխալների բյուջեն = '1 մգ SLO'։ Սա չափման պատուհանի համար «ձախողման» առավելագույն թույլատրելի մասն է։ Այն օգտագործվում է ռիսկային հաղորդագրությունների և փորձերի մասին որոշումներ կայացնելու համար։

Օրինակ

SLO հասանելիություն 99։ 30 օրվա ընթացքում 95 տոկոսը 0։ 05% ≈ 21. 6 րոպե «դանդաղ» օրացուցային ամսում։

Չորս «ոսկու» ազդանշան և ավելացված

1. Լատինականությունը (p50/p90/p95/p99, tail ավելի կարևոր է, քան միջին)։

2. Սխալներ (5xx/timeout/բիզնես սխալներ)։

3. Մոսկվա/բաց (RPS/QPS, MBps)։

4. Հագեցումը (CPU/RAM/IO/FD/միացում/GC/քվոտա)։

Բացի այդ, սառը մեկնարկը, հերթերը/բեկլոգը, դոպլոյի ժամանակը, SLO-complaens-ը։

SLI մոդելը տարբեր տեսակի ծառայությունների համար

HTTP/API

Հասանելիություն ՝ «(հաջողակ 2xx/3xx) - տրամաբանական սխալներ )/( բոլոր հարցումները)»

Լատինականությունը '«p95» հաջողակ հարցումների համար; նպատակը «տաք» երթուղիներով։

Որակը '«audience/scope» -ի հարցումների մասնաբաժինը ճիշտ է (առանց authZ-սխալների)։

Հերթեր/ասինխրոն

Հաղորդագրության մշակման ժամանակը 'p95 end-to-end 35N վայրկյան։

Backlog: Բժիշկ <X, պոչը p99 <Y.

Առաքման սխալ ՝ www.Z 210 մ։

BD/kash

Վիրահատությունների լատենտ ՝ p95 get/put/commit։

Հագեցումը 'connational pool usage, hit-ratio casha։

Սխալները ՝ timeouts, deadlocks, eviction storts։

CDN/կարգավիճակը

Hit Ratio: Ռուսաստանի մակարդակի; դեգրադացիան նվազեցնում է բեռի աճը origin-ի վրա։

POP-ի հասանելիությունը 'Anycript-դասավորությունը, մերժումները փոխհատուցվում են հարևանների կողմից։

Վճարումներ (բիզնես SLI)

Time-to-Wallet p95, դեպոզիտի հաջողությունը/%, PSA-ի ձախողումները։

Հասանելիության հաշվարկը և «դեղայքը»

Windows = «հաջողակ հարցումներ/բոլոր հարցումները» (2019, ոչ թե «aptaima»)։

Ենթակառուցվածքային հանգույցների համար այլընտրանքը '"կանաչ "/պատուհանի ժամանակը"։

Օրացույցի պատուհան ՝ 28-31 օր, սայթաքող պատուհանը 'վերջին 30/90 օրվա ընթացքում։

Աշխատանքային ժամացույցները/կրիտիկական պատուհանները 'backoffice-ի համար կարող է համարվել գրաֆիկայի ապտայմ (օրինակ ՝ տեղական ժամանակով 07: 00-22: 00)։

Կախվածության իրականացումը (պարզեցված)

Եթե A ծառայությունը կախված է B-ից և C-ից, համապատասխան հարցումների դեպքում

"Availability (A) no Av (B) no Av (C) - կարևոր է SLO տեղադրել սահմաններում։

SLO հավաքածուի օրինակ (օրինակ)

API Gateway: հասանելիություն 3699։ 95 %/30d; p95 latency 24120 մզ; սխալը 0։ 2%.
Nokout/Payments: դեպոզիտի հաջողությունը 498 է։ 5 %/30d; Time-to-Wallet p95 ≤ 90 с; PSP-timeouts ≤ 0. 3%.
Տվյալների բազա: p95 read 2410 ms; p95 write 2425 ms; replica lag p95 ≤ 150 мс.
Քաշ 'hit ratio 2485 տոկոսը; eviction storms = 0/30д.
Վճարումները ՝ p95 վերամշակումը 245 րոպե; ֆոլս-դրական թիվ 0։ 3%.

Սխալների բյուջե և փոփոխությունների կառավարում

Եթե սխալների բյուջեն սպառված է 50 տոկոսով + նախքան պատուհանի կեսը, ապա ներդրվում է «սառեցում» ֆիչ/սուլֆիդ, ֆոկուսի վրա։

Եթե բյուջեն դանդաղ է ծախսվում, կարող եք արագացնել փորձարկումները/կանարեյները։

Բյուջեի սպառումը կապեք կոնկրետ հաղորդագրությունների/միջադեպերի հետ '«rele.ru _ id» -ի միջոցով։

Alerting: Ինչպես «զանգահարել գիշերը» ապարդյուն

Ալերտները միայն SLO-դեգրադացիայով և կենսական կարևոր ախտանիշներով, ոչ թե յուրաքանչյուր մետրով։

Multi-71, multi-burn rate: Կարճ պատուհան (5-15 րոպե) + երկար (1-6 ժամ)։

Օրինակ ՝ «Burn rate 14-ը հինգ րոպեում և 6-րդ րոպեին 1 ժամվա ընթացքում», էջ on-call։

Հանգիստ ժամացույց ոչ-P1 ազդանշանների համար; պատասխանատվության երթուղի (ownership)։

Dashbords եւ տեսողական պրակտիկա

SLO վահանակ 'ծառայությունների համադրումը, մնացած բյուջեն, կախվածության քարտեզները։

Latency-վահանակ ՝ p50/p90/p95/p99, բաժանումը/tenants/երկրներին/ASN։

Error-վահանակ '108/պատճառներ, հարաբերակցություն թողարկումների/ֆիչֆլագների հետ։

Capacity վահանակ 'CPU/RAM/IO/network/FD/կոնեկտներ, միտումներ և կանխատեսումներ։

Բիզնես վահանակ 'փոխակերպում, Time-to-Wallet, դեպոզիտներ/եզրակացություններ, պաշտպանության ազդեցություն (WAF/հակատանկային)։

Միջադեպեր, MTTR և հետմորտեմներ

KPI արձագանքը

MTTD (հայտնաբերում), MTTA (ակեպտ), MTTR/MTTC (վերականգնում/զսպում), տոկոսն առանց RCA ժամանակի։

Պլեյբուսներ, ովքեր ուղեկցում են, թե ինչպես ներառել ֆիչֆլագները/բլոկները, ինչպես նվազեցնել թողարկումը, հաղորդակցումը բիզնեսի հետ։

Postmortem (blameless): փաստերը, ժամանակի գիծը, առաջին (այդ/գործընթացները), գործողությունները ՝ չարտոնված/երկար, ռեգրեսիայի թեստեր, ազդեցություն SLO-ի վրա։

Արտադրողականությունը, հագեցվածությունը և քայքայումը

Headro.ru: Ռուսական ռեսուրսների մատակարարումը (օրինակ, CPU <70 տոկոսը p95, RAM <75 տոկոսը p95)։

Hot paths: կրիտիկական երթուղիների ավելացումը; «p99» ավելի կարևոր է, քան միջին։

Degradation modes: kash-նոր, read-only, drop-shlifove կարևոր հարցումներ, "սահմանափակումներ/քվոտաներ։

Բանաձևերն ու օրինակները

1) Պահանջների հասանելիությունը


availability = (total_requests - error_requests) / total_requests

որտեղ 'error _ reques.ru' = 5xx + timeouts + բիզնես սխալները (կարգավորված է)։

2) Սխալների բյուջե (րոպե)


error_budget_minutes = window_minutes (1 - SLO)

Օրինակ ՝ 30 օր (43 200 րոպե), SLO 99։ 95% → 21. 6 նոյեմբերի, 2019

3) Burn rate


burn_rate = observed_error_ratio / (1 - SLO)

Եթե SLO 99-ը։ 9% (բյուջե 0։ 1%), իսկ սխալը 1% www.burn _ rate = 10 ռուբլիա։

4) Բաղադրիչ հասանելիություն


A_total ≈ A_gw × A_auth × A_db × A_psp

Փոքր անկումները բազմապատկորեն ծեծում են ընդհանուր A.

Չափման և բացառման քաղաքականությունները և բացառությունները

Չնախատեսված պատուհանները (միջադեպերը) հաշվի են առնվում։

Ծառայության պլանավորված պատուհանները հաշվարկվում են միայն եթե SLA-ն այդքան գրված է։ SLO-ի համար հաճախ չեն նշվում (կամ նշվում են որպես «planned _ downtime»)։

Սինթետիկ vs-ի իրական օգտագործողները 'օգտակար ունենալ երկու ջրանցքներ (RUM + սինթետիկ ստուգումներ)։

Արտեֆակտների օրինակներ

KQL/PromQL (գաղափարներ) (գաղափարներ)

SLI սխալը (5xx + timeouts) հինգ րոպեում

promql sum(rate(http_requests_total{status=~"5..    timeout"}[5m]))
/
sum(rate(http_requests_total[5m]))
p95 latency по route:
promql histogram_quantile(0. 95, sum(rate(http_request_duration_seconds_bucket[5m])) by (le, route))
Burn rate 5m/1h:
promql
(
sum(rate(errors_total[5m])) / sum(rate(requests_total[5m]))
) / (1 - 0. 999)

SQL (բիզնես SLI օրինագծերով)

sql
SELECT date_trunc('minute', finished_at) AS ts,
100. 0 sum((status='SUCCESS')::int)::float / count() AS payment_success_pct,
percentile_cont(0. 95) WITHIN GROUP (ORDER BY EXTRACT(EPOCH FROM (finished_at - started_at))) AS ttw_p95_sec
FROM payments
WHERE finished_at > now() - interval '30 days'
GROUP BY 1 ORDER BY 1;

Կախվածության և կասկադի կառավարումը

SLO պայմանագրերը թիմերի միջև ՝ gateway no auth nowallet PLS։

Degradation policies: Երբ կախվածությունը նվազում է, ծառայությունը անցնում է «պարզեցված ռեժիմին»։

Feature flags: ոչ-քննադատական գործառույթների անջատումը, «մոխրագույն արտադրությունը», որպեսզի նվազեցնի latency պոչերը։

Capacity Planning և կանխատեսումներ

Շչոմեսը։ RPS/MBps կանխատեսումը միտումների և իրադարձությունների մասին (մրցույթներ, խաղեր, գործողություններ)։

Load testing «ոսկե ճանապարհներով», առանձին թեստեր PSA/2019 համար։

Պիկի պահուստը ՝ 1-ի գործակիցը։ 3×–2. 0 մգ սպասվող բեռից։

Chek-SLO/KPI ներդրման ցուցակը

1. Որոշել քննադատական օգտագործողական ճանապարհները և համաձայնել SLI-ի «հաճախորդի տեսանկյունից»։

2. Ընտրել SLO և պատուհանի նպատակները (30/90 օր); հաշվարկել սխալների բյուջեն։

3. Ներկառուցել նետաձիգների հավաքումը դռների/ծառայությունների մեջ, նորմալացնել բանալիը/պատճառները։

4. Տեղադրեք burn-rate ալտերտները (կարճ + երկար պատուհան), երթուղայնացումը և on-call։

5. Տեսողականացնել SLO-complaens-ը, կապել թողարկումների/ֆիչֆլագների հետ։

6. «Բյուջեն փոփոխությունների դեմ» քաղաքականությունը և սառեցման գործընթացը։

7. Հետադարձ հայացքներ և RCA յուրաքանչյուր ավելցուկ, ռեգրեսիայի թեստեր։

8. Եռամսյակային ստուգել SLO-ը բյուջեի իրական օգտագործման և բիզնեսի նպատակների վրա։

Տիպիկ սխալներ

Նրանք չափում են «պինգինգի ապթայմը» 'անտեսելով դիմումների սխալները։

SLO-ն տեղադրվում է «պահեստի մասին» (99։ 999 տոկոսը), բայց անհասանելի են և ոչինչ չեն լուծում։

Ալտերտերը ցածր մակարդակի չափումներով օգտագործողի ախտանիշների փոխարեն։

Կախվածության քարտեր չկան, պարզ չէ, թե որտեղ է այրվում։

SLO կապ չկա թողարկումների հետ, պարզ չէ, թե ով է «ուտել» բյուջեն։

P99 պոչերի անտեսումը լավ միջին է, բայց վատ UX VIP օգտագործողները։

Հատուկ iGaming/fintech համար

Պիկի գրաֆիկի վրա 'խաղեր/ivents/ակցիաներ, նախապես բարձրացնել capacity, տաքացնել kash/CDN, ներառել հատուկ limits։

Բիզնես-SLI: Time-to-Wallet, դեպոզիտի/եզրակացության հաջողությունը, «վճարման արագությունը» p95; dashbords արմատում։

PMS/գործընկերներ 'առանձին SLO/dashbords պրովայդերների վրա, երթուղիների ավտոմատ փոխանցում։

Antibot/antifrod: չպետք է դուրս գա սխալների բյուջեն, առանձնացրեք "օրինաչափական բլոկները" տեխնիկական սխալներից "։

Կարգավորիչ 'ամսագրերի պահպանումը, SLO/SLA-ի վերարտադրումը, միջադեպերի հաշվետվությունները։

FAQ

Արդյո՞ ք SLO-ից պլանային աշխատանք է պետք։

Սովորաբար ոչ, SLO-ն արտահայտում է օգտագործողի փորձառությունը։ SLA-ի համար կարող եք վերապահել բացառությունները։

Ինչու՞ p95, ոչ թե միջին։

Միջինը քողարկում է պոչերը։ UX-ը որոշում է պոչերը (p95/p99)։

Կարո՞ ղ է մեկ SLO-ն ամբողջ ապրանքի վրա։

Պետք է ծառը SLO 'ագրեգատ արտադրանքով և աղջիկներին քննադատական ճանապարհներով/բաղադրիչներով։

Արդյունքը

KPI ենթակառուցվածքի ուժեղ համակարգը SLI-ի օգտագործողն է, իրական SLO-ն, սխալների բյուջեն որպես փոփոխությունների կառավարման լծակ, խելացի ալերտինգը և դեղորայքային և RCA-ի կարգապահությունը։ Միացրեք տեխնոլոգիական ցուցանիշները բիզնես մետրերի հետ, ավտոմատիզացրեք հավաքումը և տեսողականությունը, և ենթակառուցվածքը կդառնա կանխատեսելի, իսկ ապթայմը, որը վերահսկվում է նույնիսկ գագաթնակետային սցենարներում։

Contact

Կապ հաստատեք մեզ հետ

Կապ հաստատեք մեզ հետ ցանկացած հարցի կամ աջակցության համար։Մենք միշտ պատրաստ ենք օգնել։

Telegram
@Gamble_GC
Սկսել ինտեգրացիան

Email-ը՝ պարտադիր է։ Telegram կամ WhatsApp — ըստ ցանկության։

Ձեր անունը ըստ ցանկության
Email ըստ ցանկության
Թեմա ըստ ցանկության
Նամակի բովանդակություն ըստ ցանկության
Telegram ըստ ցանկության
@
Եթե նշեք Telegram — մենք կպատասխանենք նաև այնտեղ՝ Email-ի дополнение-ով։
WhatsApp ըստ ցանկության
Ձևաչափ՝ երկրի կոդ և համար (օրինակ՝ +374XXXXXXXXX)։

Սեղմելով կոճակը՝ դուք համաձայնում եք տվյալների մշակման հետ։