Tá tú ar ghlaoch do sheirbhís ghréasáin: cothromóir ualaigh os comhair cabhlach cásanna, taisce os comhair bunachar sonraí, agus cuspóir infhaighteachta 99,9 %. Gach nóiméad ríomhann an tsamhail moill scuaine, teorainneacha ama, hits taisce agus ualach bunachair sonraí ó fhoirmlí téacsleabhair — agus cad a chosnaíonn do chinntí.
Cad a fhoghlaimeoidh tú
Cén fáth a bpléascann latency in aice le húsáid iomlán (Erlang C), agus cén fáth a sroicheann uathscálú le moill tosaithe déanach i gcónaí.
Conas a chinneann SLOnna, buiséid earráidí agus rabhaidh ráta dóite cathain le rolladh siar.
Conas a iompaíonn taisce fuar ina briseadh bunachair sonraí, agus cad iad na huirlisí a cheannaíonn am: caitheamh, díghrádú, téamh.
Insamhlóir
Am 0 nóim
▶Cás ag freastal
⚙Cás ag tosú
!Cás ar an droch-thógáil
·Sliotán saor
•Iarratais isteach
Rialuithe
Urlár don chabhlach. Má ardaítear é seoltar cásanna ar an toirt — teastaíonn moill tosaithe fós uathu sula bhfreastalaíonn siad.
Rianú sprice ar úsáid; gan scála-amach nua fad is atá cásanna fós ag tosú. As = an t-íosmhéid go díreach.
Níos ísle = níos mó spáis agus costas níos airde. Ní féidir le húsáid tomhaiste dul thar 100 %, mar sin ní fhásann cabhlach sáithithe ach céim ar chéim.
TTL níos faide = níos mó hits, ach is féidir le freagraí a bheith níos sine (meánaois ≈ TTL/2).
Luchtaíonn sé eochracha te ar feadh 6 nóiméad (+12 % den taisce in aghaidh an nóiméid) ar chostas 600 fiosrúchán bunachair sonraí breise/s.
Cion den 30 % ísealtosaíochta (réamhfháil, baisc, crawlers) a dhiúltaítear ag an cothromóir ualaigh le „bain triail eile as níos déanaí“.
Cuireann an ghné throm 20 ms CPU agus fiosrúchán bunachair sonraí amháin leis in aghaidh an iarratais. As = díghrádú grástúil (graceful degradation).
Athshuiteálann an tógáil mhaith dheireanach ar chabhlach úr (5 nóim, billeáilte faoi dhó), ansin athraíonn sé an trácht. Má bhrúitear arís, aththosaítear an ullmhúchán; gan aon droch-thógáil beo, ní chosnaíonn sé ach airgead.
Táscairí
Ráta earráide
0.00%
gnáth
Latency p99
342ms
gnáth
Buiséad earráidí fágtha (30 lá)
50.0%
gnáth
Úsáid cabhlaigh
52%
gnáth
Ráta dóite (1 uair)
0.0 ×
Iarratais
1125 req/s
Cásanna ag freastal
10
Cásanna ag tosú
0
Ráta hit taisce
77 %
Úsáid bunachair sonraí
19 %
Trácht caite
0 %
Costas cabhlaigh
4.00 $/h
Costas go dtí seo
0.00 $
Meánaois freagraí taiscthe
30 s
Trácht ar an droch-thógáil
0 %
Moltaí ar fáil
100 %
Treocht
Cásanna géarchéime
Leibhéal 1 · Droch-eisiúint
Eisítear tógáil nua ag 09:10. Bhí an mhí crua cheana: níl ach 20 % den bhuiséad earráidí fágtha. Nóiméid tar éis an imscartha bualadh an leathanach ráta dóite. Cosain an buiséad.
Buiséad earráidí fágtha ag an deireadh ≥ 18,5 %
Ráta meánearráide ≤ 0,65 % tar éis an imscartha
Costas cabhlaigh ≤ $9,50
Leibhéal 2 · Slua tobann
Tá nasc leis an tseirbhís ag scaipeadh go tapa agus táthar ag súil le borradh tráchta am éigin ar maidin — níl a fhios ag aon duine cathain, ná cé chomh mór. Teastaíonn 8 nóiméad ó chásanna nua le tosú inniu. Nuair a thagann sé, coinnigh earráidí agus moill íseal gan airgead a dhó ar acmhainn dhíomhaoin.
Ráta meánearráide ≤ 0,2 %
Meán-latency p99 ≤ 400 ms
Meántrácht chaite ≤ 5 %
Costas iomlán ≤ $21
Moltaí ar fáil ≥ 85 % den am
Leibhéal 3 · Taisce fuar
Ag buaic meán lae glanann script cothabhála an taisce ar fad. Téann gach iarratas anois go dtí an bunachar sonraí, a bhí méadaithe don ghnáthráta hit 85 %. Cuir an tseirbhís ar ais gan an bunachar sonraí a ró-ualú.
Ráta meánearráide ≤ 1,5 %
Ní théann úsáid bunachair sonraí riamh os cionn 90 % tar éis an chéad nóiméid
Meánaois freagraí taiscthe ≤ 90 s ar an meán
Costas iomlán ≤ $9
Moltaí ar fáil ≥ 80 % den am
Meántrácht chaite ≤ 5 %
Bonn — an tsamhail taobh thiar de na huimhreacha
Gach gaol a úsáideann an t-insamhlóir, lena fhoinse. Is calabrúcháin léiritheacha iad tairisigh a bhfuil marc toimhde orthu.
Leanann iarratais cuar laethúil móide suaitheadh; tá an líon in aghaidh an nóiméid randamach (Poisson, comhfhogasú normalach) le beagán pléasctachta.
λ(t) = base × (1 + 0.25·sin(2π(t + clock − 6 h)/24 h)) × surge(t), clock = time of day at the start (peak at 12:00); count/min ≈ N(60λ, √(60λ)) × (1 + N(0, 0.02))[6]Toimhde: is luachanna léiriúcha do sheirbhís ghréasáin mheánmhéide iad líon oibrithe, amanna seirbhíse, toilleadh bunachair sonraí, méid taisce, luas athlíonta, praghsanna agus ráta earráide an droch-thógála.
Erlang C: an dóchúlacht go gcaithfidh iarratas fanacht le hoibrí saor i gcóras M/M/N.
N = instances × 16 workers, a = λ·S; C(a, N) = B / (1 − (a/N)(1 − B)), B = Erlang B[3][6]
Eireaball an ama feithimh: titeann an seans feithimh níos faide ná t go heasponantúil; teipeann ar iarratais atá fós ag fanacht ag an teorainn ama 2 s. Thar chumas, teipeann ar an bharrachas.
Latency p99 ó chandailí an ama seirbhíse agus an ama feithimh.
p99 ≈ S·ln 100 + ln(C/0.01)/(N/S − λ) (service + waiting quantile, an approximation)[3][6]Comhfhogasú: ní hé p99 beacht a suime é cuair seirbhíse agus feithimh a shuimiú (is féidir é a bheith beagán ard nó íseal); caitear leis an scuaine mar chobhsaí laistigh de gach nóiméad toisc go dtógann iarratais milleasoicindí.
Dlí Little: oibrithe gnóthacha = ráta teachta × am i seirbhís.
Taisce TTL: le hiarratais randamacha, tosaíonn gach miss tréimhse TTL ina mbuaileann iarratais.
hit = warm × rT/(1 + rT), r = λ / 20,000 objects; mean age of a cached answer ≈ T/2[5]
Luchtaíonn missanna taisce an bunachar sonraí; moillíonn a mhoill scuaine gach iarratas a théann i dteagmháil leis, rud a líonann oibrithe an aipe freisin.
DB load = λ·q·(1 − hit); query time = 5 ms/(1 − ρ_db) (≤ 250 ms); S = S_app + (1 − hit)·q·query time[6]Toimhde: is luachanna léiriúcha do sheirbhís ghréasáin mheánmhéide iad líon oibrithe, amanna seirbhíse, toilleadh bunachair sonraí, méid taisce, luas athlíonta, praghsanna agus ráta earráide an droch-thógála.
SLO agus buiséad earráidí: insíonn an ráta dóite cé mhéad uair níos tapa ná mar a cheadaítear a chaitear an buiséad.
budget = 1 − SLO = 0.1 %; burn = error rate / 0.1 %; Δbudget per min = burn / 43,200; burn (1 h) = mean error rate over the last 60 min / 0.1 % (window pre-filled with the opening minute)[1][2]
Uathscálóir rianaithe sprice le moill tosaithe agus fuarú síos.
desired = ⌈serving × utilization / target⌉ (utilization saturates at 100 %); new instances serve after the boot delay[6]Toimhde: is luachanna léiriúcha do sheirbhís ghréasáin mheánmhéide iad líon oibrithe, amanna seirbhíse, toilleadh bunachair sonraí, méid taisce, luas athlíonta, praghsanna agus ráta earráide an droch-thógála.
Tairisigh oibriúcháin eile a úsáideann an tsamhail.
16 workers/instance · app time 50 ms (+20 ms and +1 query with the feature on) · 2 queries/request · DB 4,000 queries/s · 20,000 hot objects · cache refill τ = 30 min (slower while the DB is saturated) · warm-up job +12 %/min for 6 min, +600 queries/s · timeout 2 s · 30 % low-priority traffic · bad build +5 % errors, ×1.25 CPU · rollback 5 min · $0.40 per instance-hour · scale-in by ≤ 20 % of the fleet after 10 quiet minutes · up to 40 instancesToimhde: is luachanna léiriúcha do sheirbhís ghréasáin mheánmhéide iad líon oibrithe, amanna seirbhíse, toilleadh bunachair sonraí, méid taisce, luas athlíonta, praghsanna agus ráta earráide an droch-thógála.
Randamacht: gineadóir mulberry32 le síol; dáiltí a úsáidtear — aonfhoirmeach, easpónantúil (CDF inbhéartach), normalach (Box–Muller), Poisson (Knuth). Taispeántar an síol agus is féidir é a roinnt.
M. Harchol-Balter — Performance Modeling and Design of Computer Systems: Queueing Theory in Action (M/M/k, server farms, capacity provisioning) — Cambridge University Press, 2013