የአይቲ ሥራዎች — የአገልግሎት አስተማማኝነት ቀጥታ ሞዴል

ለድር አገልግሎት ተረኛ ነህ፦ ከምሳሌዎች መርከብ ፊት የጭነት ሚዛን፣ ከመረጃ ቋት ፊት ካሽ፣ እና የ99.9 % ተገኝነት ዓላማ። በየደቂቃው ሞዴሉ የወረፋ መዘግየትን፣ የጊዜ ገደብ ማብቂያዎችን፣ የካሽ ተመቶችንና የመረጃ ቋት ጭነትን ከመማሪያ መጽሐፍ ቀመሮች ያሰላል — ውሳኔዎችህም ምን እንደሚያስወጡ።

ምን ትማራለህ

ሲሙሌተር

ጊዜ 0 min
ጥያቄዎች 1125 · የስህተት መጠን 0.00% · p99 መዘግየት 342 ms · እያገለገሉ ያሉ ምሳሌዎች 10 (+0) · የካሽ መምታት መጠን 77% · የመረጃ ቋት አጠቃቀም 19% · የቀረ የስህተት በጀት (30 ቀናት) 50.0%⇉1125 ጥያቄ/ሰ▶▶▶▶▶▶▶▶▶▶······························▶ 10 · ⚙ 0 · 52% · p99 342 msየመርከብ አጠቃቀም 52%የካሽ መምታት መጠን 77%የመረጃ ቋት አጠቃቀም 19%⚠ 0.00% · 🔥 0.0×50%$ 4.00/h · Σ $0.00
  • እያገለገለ ያለ ምሳሌ
  • እየጀመረ ያለ ምሳሌ
  • በመጥፎ ግንባታ ላይ ያለ ምሳሌ
  • ነፃ ቦታ
  • የሚመጡ ጥያቄዎች

መቆጣጠሪያዎች

ለመርከቡ (fleet) መሠረት። ማሳደግ ምሳሌዎችን ወዲያው ያስጀምራል — አሁንም ከማገልገላቸው በፊት የመነሻ መዘግየት ያስፈልጋቸዋል።

በአጠቃቀም ላይ ኢላማ መከታተል፤ ምሳሌዎች (instances) አሁንም እየጀመሩ ሳሉ አዲስ ማስፋፊያ የለም። ጠፍቷል = በትክክል ዝቅተኛው።

ዝቅተኛ = የበለጠ ክፍተትና የበለጠ ወጪ። የሚለካ አጠቃቀም ከ100 % ሊበልጥ አይችልም፣ ስለዚህ የጠገበ መርከብ በእርምጃ በእርምጃ ብቻ ያድጋል።

ረዘም ያለ TTL = የበለጠ ተመቶች፣ ግን መልሶች የቆዩ ሊሆኑ ይችላሉ (አማካይ ዕድሜ ≈ TTL/2)።

ትኩስ ቁልፎችን ለ6 ደቂቃ ይጭናል (በደቂቃ +12 % ከካሽ) በ600 ተጨማሪ የመረጃ ቋት ጥያቄዎች/ሰ ዋጋ።

ከዝቅተኛ ቅድሚያ 30 % (ቅድመ-ማምጣት፣ ባች፣ ክራውለሮች) በጭነት ሚዛኑ “በኋላ ሞክር” ተብሎ የሚከለከል ድርሻ።

ከባዱ ባህሪ በእያንዳንዱ ጥያቄ 20 ms CPU እና አንድ የመረጃ ቋት ጥያቄ ይጨምራል። ጠፍቷል = ለስላሳ ማሽቆልቆል።

የመጨረሻውን ጥሩ ግንባታ በአዲስ መርከብ ላይ እንደገና ያሰማራል (5 min፣ ሁለት ጊዜ ይከፈልበታል)፣ ከዚያ ትራፊክን ይቀይራል። እንደገና መጫን ዝግጅቱን እንደገና ያስጀምራል፤ መጥፎ ግንባታ ቀጥታ ከሌለ ገንዘብ ብቻ ያስወጣል።

አመልካቾች

የስህተት መጠን
0.00%
መደበኛ
p99 መዘግየት
342ms
መደበኛ
የቀረ የስህተት በጀት (30 ቀናት)
50.0%
መደበኛ
የመርከብ አጠቃቀም
52%
መደበኛ
የቃጠሎ መጠን (1 ሰዓት)0.0 ×
ጥያቄዎች1125 req/s
እያገለገሉ ያሉ ምሳሌዎች10
እየጀመሩ ያሉ ምሳሌዎች0
የካሽ መምታት መጠን77 %
የመረጃ ቋት አጠቃቀም19 %
የተወገደ ትራፊክ0 %
የመርከብ ወጪ4.00 $/h
እስካሁን ወጪ0.00 $
የካሽ መልሶች አማካይ ዕድሜ30 s
በመጥፎ ግንባታ ያለ ትራፊክ0 %
ምክሮች ይገኛሉ100 %

አዝማሚያ

የስህተት መጠን: — %20.000.00

የቀውስ ሁኔታዎች

ደረጃ 1 · መጥፎ ልቀት

አዲስ ግንባታ በ09:10 ይወጣል። ወሩ ቀድሞ ከባድ ነበር፦ ከስህተት በጀት 20 % ብቻ ቀርቷል። ከመልቀቁ ደቂቃዎች በኋላ የቃጠሎ መጠን ማንቂያ ይደውላል። በጀቱን ጠብቅ።

  • በመጨረሻ የቀረ የስህተት በጀት ≥ 18.5 %
  • ከመልቀቁ በኋላ አማካይ የስህተት መጠን ≤ 0.65 %
  • የመርከብ ወጪ ≤ $9.50

ደረጃ 2 · ድንገተኛ ሕዝብ

ወደ አገልግሎቱ የሚወስድ አገናኝ በፍጥነት እየተሰራጨ ነው እና የትራፊክ ጭማሪ ዛሬ ጠዋት የሆነ ጊዜ ይጠበቃል — መቼ ወይም ምን ያህል ትልቅ እንደሆነ ማንም አያውቅም። አዳዲስ ኢንስታንሶች ዛሬ ለመነሳት 8 ደቂቃ ይፈልጋሉ። ሲመጣ ስራ ፈት አቅም ላይ ገንዘብ ሳታቃጥል ስህተቶችን እና መዘግየትን ዝቅተኛ አድርግ።

  • አማካይ የስህተት መጠን ≤ 0.2 %
  • አማካይ p99 መዘግየት ≤ 400 ms
  • አማካይ የተወገደ ትራፊክ ≤ 5 %
  • ጠቅላላ ወጪ ≤ $21
  • ምክሮች ≥ 85 % ጊዜ ይገኛሉ

ደረጃ 3 · ቀዝቃዛ ካሽ

በቀትር ጫፍ የጥገና ስክሪፕት ሙሉውን ካሽ ያጥባል። እያንዳንዱ ጥያቄ አሁን ወደ መረጃ ቋቱ ይሄዳል፣ ይህም ለተለመደው 85 % የመምታት መጠን የተመጠነ ነበር። የመረጃ ቋቱን ሳትጭን አገልግሎቱን መልስ።

  • አማካይ የስህተት መጠን ≤ 1.5 %
  • የመረጃ ቋት አጠቃቀም ከመጀመሪያው ደቂቃ በኋላ ከ90 % በላይ በጭራሽ አይሆንም
  • የካሽ መልሶች አማካይ ዕድሜ በአማካይ ≤ 90 s
  • ጠቅላላ ወጪ ≤ $9
  • ምክሮች ≥ 80 % ጊዜ ይገኛሉ
  • አማካይ የተወገደ ትራፊክ ≤ 5 %

መሠረት — ከቁጥሮቹ በስተጀርባ ያለው ሞዴል

ሲሙሌተሩ የሚጠቀምበት እያንዳንዱ ግንኙነት ከምንጩ ጋር። በግምት የተመለከቱ ቋሚዎች ማሳያ ማስተካከያዎች ናቸው።

ጥያቄዎች የቀን ጥምዝ እና ብጥብጦችን ይከተላሉ፤ በደቂቃ ቆጠራው በዘፈቀደ ነው (Poisson፣ መደበኛ ግምት) ከትንሽ ፍንዳታ ጋር።
λ(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]ግምት፦ የሠራተኛ ብዛት፣ የአገልግሎት ጊዜዎች፣ የመረጃ ቋት አቅም፣ የካሽ መጠን፣ የመሙላት ፍጥነት፣ ዋጋዎች እና የመጥፎ ግንባታው የስህተት መጠን ለመካከለኛ የድር አገልግሎት ማሳያ ዋጋዎች ናቸው።
Erlang C፦ በM/M/N ሥርዓት አንድ ጥያቄ ነፃ ሠራተኛ ለመጠበቅ የሚገደድበት ዕድል።
N = instances × 16 workers, a = λ·S; C(a, N) = B / (1 − (a/N)(1 − B)), B = Erlang B[3][6]
የመጠበቂያ ጊዜ ጭራ፦ ከt በላይ የመጠበቅ ዕድል በገላጭ ሁኔታ ይወድቃል፤ በ2-ሰከንድ የጊዜ ገደብ አሁንም የሚጠብቁ ጥያቄዎች ይወድቃሉ። ከአቅም በላይ ትርፉ ይወድቃል።
P(W > t) = C·e^(−(N/S − λ)·t); timeouts = P(W > 2 s); a ≥ N ⇒ failed share = 1 − N/a[3]
ከአገልግሎት ጊዜና ከመጠበቂያ ጊዜ ኳንታይሎች p99 መዘግየት።
p99 ≈ S·ln 100 + ln(C/0.01)/(N/S − λ) (service + waiting quantile, an approximation)[3][6]ግምታዊ፦ የአገልግሎት እና የመጠበቅ ኳንታይሎችን መደመር የድምራቸው ትክክለኛ p99 አይደለም (ትንሽ ከፍ ወይም ዝቅ ሊል ይችላል)፤ ጥያቄዎች ሚሊሰከንዶች ስለሚወስዱ ወረፋው በእያንዳንዱ ደቂቃ ውስጥ እንደ ቋሚ ይታያል።
የሊትል ሕግ፦ ሥራ የበዛባቸው ሠራተኞች = የመድረሻ መጠን × በአገልግሎት ያለ ጊዜ።
busy workers L = λ·S ⇒ utilization = λ·S / N[4]
TTL ካሽ፦ በዘፈቀደ ጥያቄዎች እያንዳንዱ ስህተት ጥያቄዎች የሚመቱበት የTTL ጊዜ ይጀምራል።
hit = warm × rT/(1 + rT), r = λ / 20,000 objects; mean age of a cached answer ≈ T/2[5]
የካሽ ስህተቶች የመረጃ ቋቱን ይጭናሉ፤ የወረፋ መዘግየቱ የሚነካውን እያንዳንዱን ጥያቄ ያዘገያል፣ ይህም የመተግበሪያ ሠራተኞችንም ይሞላል።
DB load = λ·q·(1 − hit); query time = 5 ms/(1 − ρ_db) (≤ 250 ms); S = S_app + (1 − hit)·q·query time[6]ግምት፦ የሠራተኛ ብዛት፣ የአገልግሎት ጊዜዎች፣ የመረጃ ቋት አቅም፣ የካሽ መጠን፣ የመሙላት ፍጥነት፣ ዋጋዎች እና የመጥፎ ግንባታው የስህተት መጠን ለመካከለኛ የድር አገልግሎት ማሳያ ዋጋዎች ናቸው።
SLO እና የስህተት በጀት፦ የቃጠሎ መጠን በጀቱ ከተፈቀደው ስንት ጊዜ በፍጥነት እየወጣ እንደሆነ ይናገራል።
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]
የመነሻ መዘግየትና የማቀዝቀዣ ጊዜ ያለው ኢላማ-ተከታይ ራስ-ሰር ማስፋፊያ።
desired = ⌈serving × utilization / target⌉ (utilization saturates at 100 %); new instances serve after the boot delay[6]ግምት፦ የሠራተኛ ብዛት፣ የአገልግሎት ጊዜዎች፣ የመረጃ ቋት አቅም፣ የካሽ መጠን፣ የመሙላት ፍጥነት፣ ዋጋዎች እና የመጥፎ ግንባታው የስህተት መጠን ለመካከለኛ የድር አገልግሎት ማሳያ ዋጋዎች ናቸው።
ሞዴሉ የሚጠቀምባቸው ሌሎች የሥራ ቋሚዎች።
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 instancesግምት፦ የሠራተኛ ብዛት፣ የአገልግሎት ጊዜዎች፣ የመረጃ ቋት አቅም፣ የካሽ መጠን፣ የመሙላት ፍጥነት፣ ዋጋዎች እና የመጥፎ ግንባታው የስህተት መጠን ለመካከለኛ የድር አገልግሎት ማሳያ ዋጋዎች ናቸው።

አጋጣሚነት፦ ዘር ያለው የ mulberry32 አመንጪ፤ ጥቅም ላይ የዋሉ ስርጭቶች — ወጥ፣ ገላጭ (የተገላቢጦሽ CDF)፣ መደበኛ (ቦክስ–ሙለር)፣ ፖይሰን (ክኑት)። ዘሩ ይታያል፤ ሊጋራም ይችላል።

ምንጮች

  1. Site Reliability Engineering — Ch. 3 Embracing Risk (error budgets), Ch. 4 Service Level Objectives — Beyer, Jones, Petoff, Murphy (eds.), O'Reilly, 2016
  2. The Site Reliability Workbook — Ch. 5 Alerting on SLOs (burn rate; 14.4× over 1 h = 2 % of a 30-day budget) — Beyer, Murphy, Rensin, Kawahara, Thorne (eds.), O'Reilly, 2018
  3. Teletraffic Engineering Handbook — Erlang C formula; waiting-time distribution for M/M/n, FCFS — ITU-D Study Group 2 Question 16/2 (V. B. Iversen), 2005
  4. J. D. C. Little — A Proof for the Queuing Formula: L = λW — Operations Research 9(3):383–387, 1961
  5. J. Jung, A. W. Berger, H. Balakrishnan — Modeling TTL-based Internet Caches — IEEE INFOCOM 2003, 2003
  6. 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

ይህን ሥራ የሚሠሩ ሰዎች

ትምህርታዊ ሞዴል — ለአሠራር ውሳኔዎች አይደለም። እውነተኛ ጣቢያዎች እያንዳንዱን ቋሚ በራሳቸው መሣሪያና መረጃ ያስተካክላሉ።