GH GambleHub

Էներգիայի պլանավորումը և բեռի աճը

Live ռեզյումե

Ուժը SLO-ի շարժիչներին դիմակայելու ունակությունն է բեռի և քաշի սպասվող աճի ժամանակ։ Հիմքը

1. Պահանջարկի կանխատեսումը (հիմնական միտումը + սեզոնային + ivents)։

2. Բեռի մոդելը (բաց-մոդելը ինտերնետի համար)։

3. Ուժի պահուստը (headrome) և սխալ բյուջեն։

4. Մեծացումը (հորիզոն/ուղղահայաց/մեքենա) + սահմանափակիչները (rate-limit/backpressure)։

5. Ֆինանսներ ՝ $/1000 RPS, դոլար/ms p95, TCO սցենարներով։

Տերմինները և մետրիկները

Throughput: RPS/QPS/CPS-ը իրական թողունակություն է։

Latency p95/p99: www.SLO օգտագործողների համար։

Saturation: CPU/հիշողություն/IO/FD/www.ru/հերթերի բեռնումը։

Error rate: 5xx/timeout/429, ժամանակի սխալ բյուջեն։

Headro.ru: Ազատ հզորության մասնաբաժինը պիկովային օպտիկայի դեպքում (խորհուրդ 30%)։

Բուրսթ 'կարճաժամկետ աճը (վայրկյաններ/րոպե), Spike: www.N. կտրուկ աճը։

Հիմնական մոդելներ և բանաձևեր

Little's Lance (հերթերով համակարգերի համար)


L = λ W

L-ը համակարգում հարցումների միջին քանակն է, պաշտպանությունը մուտքի միջին ինտենսիվությունն է (RPS), W-ը համակարգում միջին ժամանակն է։ Օգտակար է հերթերի խորությունը գնահատելու համար։

Բեռնման գործակիցը (ստանդարտ)


ρ = λ / μ

տրամագիծը ծառայողական արագություն է (RPS 100% CPU)։ 1 - ում լատենտությունը մեծանում է ոչ գծային. Աշխատավայրը պահեք 0։ 6–0. 75.

Safety factor/պահուստ


Capacity_required = Peak_load (1 + Headroom) Degradation_factor

Որտեղ Degradation _ factor-ը հաշվի է առնում N-ի մերժումը, քեշի քայքայումը, մեկ RoR/տարածաշրջանի կորուստը (օրինակ, 1։ 2).

Պահանջարկի կանխատեսումը

1. Պատմությունը 'ցերեկային/շաբաթական պրոֆիլներ, սեզոնային, հարաբերակցություն իրադարձությունների հետ (խաղեր/սթրիմ/վճարումներ)։

2. Իվենտներ ՝ բեմական գործակիցներ (սովորական թիվ 1, թիվ 2 մրցույթը։ 3, եզրափակիչ 243։ 5).

3. Ֆլուկտուացիաների աղբյուրները 'մարքեթինգային արշավներ, ֆորումներ, բոտների անոմալիա։

4. Կանխատեսման միավորները ՝ RPS (Login, lobby, catalog, payments), CPS TSA, QPS DB, IOPS սկավառակ, egress Gbit/s։

5. Վստահություն 'պահպանեք երկու սցենարներ' պահպանողական և ագրեսիվ։

Բեռի մոդելավորում

Open-model (Poisson-նման ծխական) 'ճիշտ հանրային API/web-ի համար, օգտագործեք sizing-ի համար։

Closed-model (VU + think-time), հարմար է ներքին հաջորդականության համար։ թույլ տվեք։

Ռուսական երթուղիներ 'քաշային բաժնետոմսեր էնդպոինտների վրա։ միացրեք ոչ միայն «տաք», այլ նաև «թանկ» (ռուս, դեպոզիտ)։

Մի մոռացեք 'ռետրո, հերթեր, գործընկերների սահմաններ (PSA, աջակողմյան API)։

Ռազմավարական ուժի նախագծումը

Headro.ru: 3630 տոկոսը գագաթնակետին (ինտերնետի համար); միջուկի և կրիտիկական ճանապարհների համար 40-50 տոկոսն է։

N + 1/N + 2: Մենք դիմադրում ենք 1-2 ինստանսների/գոտիների մերժումը առանց SLO խախտման։

Multi-region: Յուրաքանչյուր տարածք ձգում է ընդհանուր պիկի 3660 տոկոսը (հարևանի կորուստը գոյատևելու համար)։

Degrade-ռեժիմը 'անջատենք երկրորդական գործառույթները, նվազեցնենք payload-ը, ներառյալ քեշը/105-պատասխանները։

Sizing շերտերի վրա

Ցանց/Edge

CPS/RPS ճակատում, TMS-handshake p95, resumption 2470 տոկոսը, egress Gbit/s։

Anycase/Geo-routing, CDN/WAF սահմանները (նախապես համաձայնվել)։

Պահեստը 'ոսպնյակ/ապլինկ No. 1։ 3, MSN backlog պահեստով, UDP/443 H3 համար։

Հավասարակշռիչներ/Lenta.ru

RPS-ը instans, բաց connections, գծեր, CPU/IRQ-ում։

Keepalive-ը և connational pooling-ը նվազեցնում են բեքենդների միացությունները։

Պահուստը ՝ 240 0։ 7, limiter по CPS/RPS per route.

Ծրագրեր

Նպատակային արտադրողականությունը միջուկի վրա (RPS/2019) սարահարթում։

Պուլները (thread/DB/HTTP) չեն ապավինել սահմաններին։

Պահեստը 'ավտոմեքենան մինչև CPU 60-70 տոկոսը և latency-trigger (p95)։

Քեշի

Hit-ratio, hotset, eviction, կրկնօրինակը։

Պահեստը 'հիշողությունը 241։ 2 տնային հյուրանոցը, ցանցային headroom 3830 տոկոսը։

Տվյալների հիմքերը

QPS/TPM, p95 հարցումներ, արգելափակումներ, ստացիոնար քեշ, WAL/replanslag։

IOPS-ը և latency սկավառակը p95-ի բանալին են։

Պահուստը 'CPU աշխատանքային կետը 50-65 տոկոսը, կրկնօրինակի լագը <108; Շարդինգի պլանը և read-replicas։

Սկավառակ/Lenta.ru

IOPS (4k/64k), throughput, fsync cost.

Պահեստը ՝ IOPS 241 պիկ է։ 5, latency p95 բուժական պատուհանում; առանձին փամփուշտներ ամսագրի/տվյալների համար։

GPU/ML (եթե առցանց ինֆիս կա)

Samples/s, latency, VRAM headroom, batching.

Պահուստը 'batch պարամետրերը բեռի «սղոցի» տակ, warm-pool GPU-ն։

Ավելացումը

HPA/KEDA: CPU + կաստոմային (p95 latency, RPS, հերթ)։

Warm poo.ru: Նախաճաշված ինստանսներ եբենտների առջև։

Step-scaling: cooldown քայլերը, որպեսզի չփչեն։

Արձագանքի ժամանակը 'T _ scale-ում 1-2 րոպե առջևի շերտի համար; BD-ի համար նախօրոք։

Սահմանափակումներ և backpressure

Rate-limit по IP/ASN/device/route; քվոտաներ գործընկերների համար։

TTL-ի հերթերը, հրաժարվելը «քաղաքավարի» (429/հունարենով) ավելի շուտ, քան թայմաուտները։

Idempotenty 'վճարման բանալիներ; trai budget + jitter։

Request collapsing/SWR 'չսպասել origin ժամանակ։

Արագ հաշվարկման օրինակ

Դանո 'API-ի, p95-250 ms պիկի կանխատեսում, Time 8 ms instans 60% CPU-ի վրա, 125 RPS/105, 8 միջուկ instans no. 1000 RPS/instans։

Քայլ 1 (առանց հաղթանակների): 35 ինստանսներ։

Քայլ 2 (headrome 30%): 35 241։ 3 = 46.
Քայլ 3 (մեկ AZ հրաժարվելը, + 20 տոկոսը): 46 241։ 2 ≈ 55.

Քայլ 4 (կլորացում + տաք պահուստ 10%): 61 ինստան։

Ստուգում: 105 107 k/( 61k) 240։ 57 - կանաչ գոտում։

Ֆինանսական մոդել (FinOps)

/ 1000 RPS դոլար շերտերով (edge, proxy, app, DB)։

/ ms p95 (պոչի նվազեցման արժեքը)։

TCO 2019: on-demand vs reserved vs spot (ընդհատումներից)։

Կարողությունների պլանը 'հաշիվների/կլաստերների զանգվածի սահմանները, ամպերի քվոտաները, PMS/CDN սահմանները։

Պատրաստակամության համար և DR

Multi-AZ/region: Յուրաքանչյուր ուսը կազմում է բեռի 60 տոկոսը։

Failover պլանը ՝ withdrance Anycript, GSLB փոխակերպումը, TTL 3560-120 վրկ։

Կրիտիկական կախվածություններ 'PFC/բանկերի լիմիտներ, էքսպեդեր։

Պարբերական ուսուցումները 'game day, PoP/BG/kash անջատումով։

Վաղ հագեցման ազդանշաններ և ազդանշաններ

P95/p99 և հերթերը կայուն մուտքի ժամանակ։

Hit-ratio kasha-ի անկումը, origin egress աճը։

Retransmits/ECN CE-ի բարձրացումը, TSA-ի հետազոտման նվազումը։

Աճը 429/timeout և retry-rate։

BD-ի համար հակամարտությունների աճն է, wwww.kpoint time, WAL fsync-ը։

Վիրահատական պրակտիկա

Capacity review ամսական 'փաստ vs պլանը։

Change windows-ի տակ 'freeze միջուկները և լիմիտները։

Systwarm (CDN/CSA/TSA/puls) 10-30 րոպե առաջ։

Սահմանների տարբերակումը 'գրանցեք rate-limit/փամփուշտները Git-ում։

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

Մրցույթներ/խաղեր ՝ spike + plateau, բոտերի համար մոխրագույն երթուղիներ, գրանցման/ավանդների առանձին սահմաններ։

Վճարումներ/PSA: քվոտաներ պրովայդերի/մեթոդի, fallback-երթուղիների, egress-IP փամփուշտների, SLA Time-to-Wallet-ի վրա։

Բովանդակություն-պրովայդերներ 'ստուդիաների բաշխում, տաք քեշներ, շարդ-պուլներ։

Անտիֆրոդ/AML 'կանոնների սահմանափակում/սկորինգ, դեգրադացիա մինչև light կանոնները գագաթին։

Ներդրման թուղթ

  • Pikov կանխատեսումը (բազա/սեզոն/ivents), երկու սցենար։
  • SLO/սխալ բյուջե և headro.ru 3530 տոկոսը։
  • Sizing շերտերով (edge/proxy/app/cache/DB/IO/ցանց)։
  • Սահմանափակողներ ՝ rate-limit, հերթեր, idempoty, retry-budget։
  • HPA/KEDA + warm pools; լոկոմոտիվային պլան։
  • Multi-AZ/region, failover-plebuks, TTL և GSLB։
  • Ամպերի քվոտաները/PMS/CDN համաձայնեցված և մեկնաբանված են։
  • Դիտողականություն 'dashbords capacity, վաղ հագեցման ազդանշաններ։
  • DR ուսուցումները և կանոնավոր capacity-review։

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

Միջին RPS պլանը առանց պոչերի/աճի։

ρ≈0. 9 «թղթի վրա», լատենտը պայթում է քիչ աղմուկով։

Արտաքին ծառայությունների սահմանների անտեսումը (PMS/CDN/BD-2019)։

Ոչ մի degrade ռեժիմներ և backpressure-ը կասկադային ֆեյլներ են։

Առանց նախածննդյան մասշտաբի, հաջողվում է «պիկի» հետո։

Բոլոր շերտերի համար մեկ headrome-ը նեղ տեղ է գաղթում։

Մինի պլեյբուկները

Պիկ իրադարձությունից առաջ (T-30 րոպե)

1. Ավելացնել minReplicas/target HPA-ը, ներառել warm pool։

2. Տաքացնել CDN/CSA/TSA/կոննեկտներ, տաքացնել քեշերը։

3. Բարձրացնել PSA-ի գնդակների և քվոտաների սահմանները համաձայնությամբ։

4. Միացրեք մոխրագույն երթուղիները/բոտ ֆիլտրերը, հանգեցրեք ծանր էնդպոինտները։

Տարածաշրջանի մասնակի կորուստ

1. GSLB-ը հարևան տարածք է, TTL 60-120։

2. Միացրեք degrade ռեժիմը (kash/պարզեցված թողարկումը)։

3. Վերաբաշխել PSA/egress-IP-ի սահմանները։

4. Կարգավիճակի հաղորդակցությունը, ռ95/սխալների վերահսկումը։

Գետերի աճը

1. Նվազեցնել retry-budget, ներառել backoff + jitter։

2. Ներառել request-collapsing/SWR-ը GET-ում։

3. Ժամանակավորապես խստացնել rate-limit-ը «աղմկոտ» ASN-ի համար։

Արդյունքը

Էներգիայի պլանավորումը + ինժեներական մոդելը + ուժի մատակարարումն + վիրահատական լծակները։ Ֆորմալիզացրեք SLO և headro.ru, հաշվի առեք արտաքին լիմիտները, ավտոմատիզացրեք մեծացումը և քայքայումը, չափեք «միլիոնավոր հաշվարկների արժեքը» և կատարեք համապատասխան capacity-review։ Այդ ժամանակ բեռի աճը չի վերածվի ռիսկի, այլ բիզնեսի կառավարվող փոխաբերության։

Contact

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

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

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

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

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

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