GH GambleHub

Կարողությունների պլանավորում

1) Ի՞ նչ է հզորության պլանավորումը, և ինչո՞ ւ է այն անհրաժեշտ։

Կարողությունների պլանավորումը (capacity planning) համակարգված գործընթաց է գնահատելու և ապահովելու ռեսուրսները, որոնք անհրաժեշտ են SLO-ի գնման համար նվազագույն արժեքով։ Խոսքը ոչ միայն CPU/հիշողության մասին է, այլ նաև ցանցերի, պահպանման, BD/kesh-ի, իրադարձությունների հերթերի/անվադողերի մասին, արտաքին պրովայդերների (վճարումներ/KUS/հակաֆրոդ), ինչպես նաև ռուսական ռեսուրսների (on-call, աջակցություն)։

Նպատակները

Կատարել SLO/SLAS նույնիսկ պիկի և քայքայման մեջ։

Նվազագույնի հասցնել TCO և պարզ կապիտալը (overprovisioning)։

Նվազեցնել ռեսուրսների սպառման ռիսկը (saturation 4999/սխալ)։

Ապահովել էքսպորտների և քարոզարշավների կանխատեսելիությունը (մարքեթինգը, մրցույթները, լավագույն խաղերը)։

2) Մուտքային տվյալները և ճշմարտության աղբյուրները

Դիտարկումը ՝ RPS/concarrention, p50/p95/p99, error-rate, saturation (CPU, mem, prok IOPS, ցանցային ppps/mbps), հերթերի երկարություն, rate limits։

Բիզնես իրադարձություններ 'քարոզարշավների օրացույցներ, սեզոնային (երեկո/հանգստյան/մեգա-իվենտներ), տարածաշրջաններ/իրավասություններ։

Techdolg/fics: roadmap Roadmap, ճարտարապետական փոփոխություններ (օրինակ, կոդավորումը, նոր տրամաբանությունը)։

Պրովայդերներ 'քվոտաներ և throughput ստացիոնար/KUS/փոստի/հակաֆրոդների ծառայություններ։

Անցյալի միջադեպերը 'որտեղ նեղ տեղ (BD, kes, L7 հավասարակշռող, անվադողեր, CDN, սկավառակ)։

3) Հիմնական հասկացությունները և բանաձևերը

Headrome-ը տարաների պահուստն է '«headrome = (max _ կայուն _ RPS )/maks _ կայուն _ RPS»։

20-40 տոկոսը (կրիտիկական հոսքերի համար)։

Saturation-ը զբաղված ռեսուրսի հարաբերությունն է հասանելի (CPU%, հիշողությունը/GC, միացություններ, descriptors, IOPS, գծի խորությունը)։

Throughput-ը կայուն արագություն է, որի դեպքում p99 և error-rate-ը կատարում են SLO-ն երկար (ոչ միանգամյա բարձրացում)։

Capacity Unit (CU) - կոդավորման համար նորմալ հզորության միավորը (օրինակ, X RPS-ը մեկ pod vCPU = 1, RAM = 2 GiB)։

Համակարգային սահմանը max առանց քայքայման '«N _ pods no CU»։ Կարևոր է հաշվի առնել shared կախվածությունը (BD/kes/անվադողեր)։

4) Պահանջարկի մոդել 'կանխատեսում

Վիճակագրությունը 'շաբաթական/ամենօրյա սեզոն, արձակուրդներ, սպորտային ֆինանսներ, տարածաշրջանային պիկի։

Կոգորտները 'երկրներով, էքսպեդերներով, սարքերով, VIP հատվածներով։

Իրադարձական հանգստավայրերը 'արշավների/թնդանոթների/սուլֆերի/SEO-ի ազդեցությունը։

«Ինչ եթե» (scenario planning): + 50 տոկոսը հետաձգման 19: 00-22: 00; A- ի պրովայդերի նվազումը բացատրվում է B-ով (+ 30 տոկոսը լատենտ)։

Real-time 2019: nowcasting lid-metriks (նստարանների վերածնունդ, խաղի հերթը, զամբյուղները)։

5) Առաջարկի մոդելը 'որտեղ «կոտրվում է» շղթան

Հարցման փոխակրիչը 'Edge/CDN www.L7-հաշվապահը www.kesh wwww.BD wwww.արտաքին API-ն/անվադողերը/ETL-ն։

Յուրաքանչյուր օղակի համար մենք արձանագրում ենք

Հզորություն (CU/instans), մեծացում (հորիզոն/ուղղություն) , սահմաններ (կոննեկտներ, pps, IOPS), ազդանշաններ։

Մերժման քաղաքականությունը (rate limit, circuit breaker, դեգրադացիա)։

SLO տեղական և նրանց ներդրումը e2e-SLO-ում։

6) Պահուստն ու սխալների բյուջեն

Մենք կապում ենք headrope-ը error budget-ի հետ, ավելի քիչ բյուջեներ են ավելի շատ։

Կրիտիկական հոսքերի համար (վճարում/հավատարմագրում) - headrome ավելի բարձր, երկրորդական հոսքերի համար 'ցածր։

Սառը/տաք պահուստներ 'ակտիվացված պիկի/պատահարի ժամանակ։

7) Լայնացում 'մարտավարություն

HPA (բեռի մետրերով): RPS, latency, գծի երկարությունը, SLIs օգտագործողները (better than CPU%)։

MSA 'ռեսուրսների ավելացում ենթաբաժիններին (ավելի ուշադիր ստատեֆուլից և p99 GC)։

KEDA/ադապտերներ 'արտաքին աղբյուրների մասշտաբը (Kafka lag, Redis length, CloudQueue depth)։

Warm poo.ru/progue: նախապես բարձրացված instans, որպեսզի խուսափեն սառը մեկնարկից։

«Load-as-Code» -ի մոտեցումը 'ավտո սկեյլ/լիմիտներ/թայմաուտներ/ռեգացիաներ տարբերակվում և անցնում են ակնարկ։

8) Գծեր, backpressure և պոչի կառավարում

Նպատակը 'կանխել p99-ի լավատեսական աճը։

Մենք սահմանափակում ենք զուգահեռականությունը և գծի չափը, ներկայացնում ենք ժամանակավոր պատուհաններ և կուռքեր։

Hedging/Retry-budget: սահմանափակել օգտագործողի և համակարգի ժամանակի ընդհանուր բյուջեն։

Graceful degradation: անջատել երկրորդական ֆիգուրը բեռնման ժամանակ։

9) BD, keshi և պահեստ

ԲԴ ՝ Կոնեկտների սահմանափակում ,/FSync, ինդեքսներ, հարցումների պլան, replica lag, hot-keys/սեղաններ, max TPS գործարքների համար։

Քեշի 'hit-ratio հատվածներում, «պրոմախի փոթորիկը» արտանետման/հաշմանդամության ժամանակ, միգրանտների բաշխումը։

Սթորաջը ՝ IOPS/throughput, ուշացումներ, ագրեսիա, TTL, հին կուսակցություններ/սարքավորումներ մաքրելը։

Միգրացիայի սխեման 'expand www.migrate www.ract առանց կանգ առնող բլոկների։

10) Իրադարձությունների հոսքերը և ETL-ը

Kafka/shina 'կուսակցության, lag, ISR, compaction, արտադրողների/կոնսուումերների սահմանները։

ETL/batchi: գործարկման պատուհանները, ժամանակի բյուջեները, prottle I/O ազդեցությունը։

Idempotenty և exactly-once-like-ի համար կրիտիկական ֆլոուի համար (վճարումներ/հավասարակշռություններ)։

11) Ցանցը և պարիմետրը

L4/L7 հավասարակշռիչները ՝ connational limits, www.n backlog, TMS 24load, session reuse։

CDN/Edge: բաց, քաշ քաղաքականություն origin-բեռի նվազեցման համար։

Ներգանգային լիմիտներ ՝ pps/mbps CPC/ենթահամակարգում, egress-արժեքը (FinOps)։

12) Multiregion, DR և իրավասություն

Ռազմավարություններ ՝ actival (GSLB/Anycript), active-passive (տաք/տաք/սառը DR)։

N + 1 տարածաշրջաններում 'դիմակայել AZ/տարածաշրջանի կորստին, երբ պահպանվում է SLO-հոսքերը։

Իրավաբանական տեղայնացումը 'բաժանումը/տվյալները երկրներով, տարբեր լիմիտներ և SLO պրովայդերների վրա։

DR թեստերը ՝ www.game-days, իրական բեռի փոխանցումով։

13) Արտաքին պրովայդերներ 'քվոտաներ և երթուղիներ

Վճարումները/KYC/հակաֆրոդ/փոստ/SMS 'TPS, burst, ցերեկային լիմիտներ։

Multi-պրովայդեր 'լատենտ/հաջողություն, SLO per, Auto-feilover։

SLA պայմանագրերը 'e2e-SLO, էսկալացիայի ջրանցքները, վեբհուկի կարգավիճակը։

14) FinOps: արժեքը և արդյունավետությունը

TCO: comporation + storage + network egress + լիցենզիա/պրովայդերներ + հերթապահություն։

Unit Economics: 1,k հարցման/1 դեպոզիտային վիրահատության/1 KYC-ի արժեքը։

Օպտիմիզացիան 'right-sizing, spot/նախածանցային զեղչեր, kash-hitrait, dedop logs/հետքեր, սառը պահպանման մակարդակներ։

Բեռի տեղափոխումը ժամանակի մեջ 'ոչ կրիտիկական մարտեր «գիշերային» պատուհաններին և էժան տարածքներին։

15) Դաշբորդներն ու հաշվետվությունները (նվազագույն հավաքածու)

Capacity Overview:
  • Ներկայիս ww.vs կայուն throughput օղակների վրա։
  • Headro.ru ծառայությունների և տարածքների մասին; կանխատեսումը 24/72 ժամ։
  • KPI FinOps: դոլար/1k հարցումներ, դոլար/դեպոզիտ։
Risk & Hotspots:
  • Լավագույն նեղ տեղերը (p99, saturation, lag), DR։
Providers:
  • Հաջողության/լատենտ և պրովայդերների լիմիտներ; կատարվում է երթուղիների մասնաբաժինը։
Backlog:
  • Դեղագործական/ինդեքսների/օպտիմիզացման պլանը, ակնկալվող խնայողությունները/տարաների աճը։

16) Գործընթացներ և դերեր

RACI: Պլատֆորմեննայան (infra/07/հավասարակշռիչներ), BD/Տվյալները (ինդեքսներ, վերարտադրողականություն), Ծառայողական թիմերը (ավելացում/քեշը), SNE (SLO, alerts), Sec/Compliance (ծպտյալ/ամսագրեր), Ֆինանսներ (բյուջե)։

Ռիթմ ՝ Շաբաթական capacity-review (ճանապարհային քարտեզը, կանխատեսումը, ռիսկերը), ամսական FinOps-ը, եռամսյակային DR թեստերը։

Change Express: մեծ արշավներ/ֆորումներ անցնում են capacity-gate (չեկ-թուղթ ներքևում)։

17) Չեկի և քարոզարշավների ցուցակը (capacity-gate)

  • Պիկի բեռի կանխատեսումը և «+ x% արտակարգ պոչը»։
  • Հասանելի headro.ru հոսքերի համար (վճարումներ/KUS/login)։
  • Պրովայդերները ապացուցված են քվոտաներ; այլընտրանքային երթուղիները ակտիվ են։
  • HPA/KEDA շեմերը և warm-pool-ը տրամադրված են։
  • Գծերը/լիմիթները և դեգրադացիաները ստուգված են (պլեյբուսները պատրաստ են)։
  • Կանարեկային բաժնետոմսերը և ավտոմեքենաները ներառված են։
  • Dashbords/alerta (burn-rate, saturation, p99) ստուգված են։
  • DR պլանը և էսկալացիայի կապը արդիական են։

18) Anti-patterna

«CPU <70 տոկոսը լավ է» ՝ անտեսելով կախվածության սահմանները (BD կոնեկտներ, IOPS, գծեր)։

Կենտրոնացված «սև արկղը» առանց per-օղակի, անհնար է հասկանալ, թե որտեղ է սահմանը։

Քեշի ռազմավարության բացակայությունը 'բացթողումները, երբ ֆորումը սպանում է origin-ը։

Hardcod limites retraev առանց պահանջների 'հարցումների փոթորիկ։

«Վճարումների մեկ պրովայդեր» -ը գագաթնակետին հրաժարվելու կետն է։

Տաք պաշարների անտեսումը սառը սկիզբն է ՝ որպես պատճառը։

Ոչ ռուսական DR թեստեր, պլանը չի աշխատում, երբ այն անհրաժեշտ է։

19) Մինի-Կալմաշ (օրինակ)

X 'կայուն 350 RPS pod (vCPU = 1, RAM = 2 GiB)։ Նպատակը 5000 RPS է, headrope 25 տոկոսը։

Անհրաժեշտ ուժը = "5000/0։ 75 = 6667 RPS`.

Պոդով = «ceil (6667/350) = 20»։ Գումարած warm-pool 15 տոկոսը ևս 3 pod է։

ԲԴ ՝ 12k TPS-ի սահմանը, ընթացիկ վարկը 9k TPS, պիկի կանխատեսումը 10։ 5k TPS-ը 1։ 5k (14%). Անհրաժեշտ է 'ինդեքսներ/շարդինգ/կրկնօրինակներ կամ կանխիկացում մինչև 8-ը նվազեցնելու համար։ 5k.

Պրովայդեր A (KYC) 'քվոտա 120 rps, Pik 95 rps, քարոզարշավը + 40 տոկոսը ՝ 133 rpps> քվոտաներ, ուղղորդում 70% A/30% B։

20) Capacity planning ներդրումը

1. Նկարագրել e2e ճանապարհը և նեղ վայրերը։

2. Ներդնել CU-ն և չափել յուրաքանչյուր շերտի կայուն throughput։

3. Միացրեք saturation և p99 մետրերը բոլոր օղակներում։

4. Ձևավորել իրադարձությունների/քարոզարշավների/ֆորումների օրացույցը։

5. Կառուցել կոգորտների և սցենարների կանխատեսում «ինչ եթե»։

6. Համախմբել headroper-հոսքը և per-տարածաշրջանը (կապված է error budget)։

7. Տեղադրել HPA/MSA/KEDA + warm-pooics, limits/retrai/հերթեր։

8. Ստուգել պրովայդերական քվոտաները, ներառել մուլտֆիլմ-երթուղիները։

9. Հավաքել dashbords և շաբաթական capacity-review ռիթմը։

10. Եժեքվարտալ 'DR ուսուցումները և ռուսական մոդելները։

21) Արդյունքը

Կարողությունների պլանավորումը կանխատեսումների, ճարտարապետական սահմանափակումների և արժեքի կառավարվող կապն է, և ոչ թե «ավելացնել CPU»։ Երբ e2e ուղու յուրաքանչյուր շերտ ունի չափված հզորություն, իսկ headrome-ը և քայքայման ռազմավարությունը կապված են SLO-ի և error budget-ի հետ, ապա գագաթնակետային բեռները, արշավները և վթարները դադարում են անակնկալ լինել։ Այս մոտեցումը նվազեցնում է միգրացիայի ռիսկը, կայունացնում է բիզնեսի մետրերը և օպտիմիզացնում ծախսերը։

Contact

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

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

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

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

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

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