အိုင်တီလည်ပတ်မှု — ဆိုက်ယုံကြည်စိတ်ချရမှု တိုက်ရိုက်မော်ဒယ်

သင်သည် ဝက်ဘ်ဝန်ဆောင်မှုတစ်ခုအတွက် အော်န်ကော်ဖြစ်သည်: အင်စတန့်ရေယာဉ်စုရှေ့ရှိ လုပ်ငန်းချိန်ခွင်လျှာ၊ ဒေတာဘေ့စ်ရှေ့ရှိ ကက်ရှ်နှင့် 99.9 % ရရှိနိုင်မှုပန်းတိုင်။ မိနစ်တိုင်း မော်ဒယ်က ကျောင်းသုံးစာအုပ်ဖော်မြူလာများဖြင့် တန်းစီနှောင့်နှေးမှု၊ အချိန်ကုန်ဆုံးမှု၊ ကက်ရှ်ထိမှန်မှုနှင့် ဒေတာဘေ့စ်ဝန်ကို တွက်ချက်သည် — သင့်ဆုံးဖြတ်ချက်များ၏ ကုန်ကျစရိတ်ကိုလည်း။

သင်ဘာသင်ယူမည်နည်း

ဆင်မျူလေတာ

အချိန် 0 မိနစ်
တောင်းဆိုမှုများ 1125 · အမှားနှုန်း 0.00% · p99 နှောင့်နှေးမှု 342 ms · ဝန်ဆောင်မှုပေးနေသော အင်စတန့်များ 10 (+0) · ကက်ရှ်ထိမှန်နှုန်း 77% · ဒေတာဘေ့စ်အသုံးချမှု 19% · ကျန်ရှိသောအမှားဘတ်ဂျက် (30 ရက်) 50.0%⇉1125 တောင်းဆိုမှု/s▶▶▶▶▶▶▶▶▶▶······························▶ 10 · ⚙ 0 · 52% · p99 342 msရေယာဉ်စုအသုံးချမှု 52%ကက်ရှ်ထိမှန်နှုန်း 77%ဒေတာဘေ့စ်အသုံးချမှု 19%⚠ 0.00% · 🔥 0.0×50%$ 4.00/h · Σ $0.00
  • အင်စတန့် ဝန်ဆောင်မှုပေးနေသည်
  • အင်စတန့် စတင်နေသည်
  • မကောင်းသောတည်ဆောက်မှုပေါ်ရှိ အင်စတန့်
  • အားလပ်နေရာ
  • ဝင်လာသောတောင်းဆိုမှုများ

ထိန်းချုပ်မှုများ

ရေယာဉ်စုအတွက် အောက်ခြေ။ မြှင့်လျှင် အင်စတန့်များကို ချက်ချင်းစတင်သည် — ဝန်ဆောင်မှုမပေးမီ ဘွတ်နှောင့်နှေးမှုလိုသေးသည်။

အသုံးချမှုအပေါ် ပစ်မှတ်လိုက်ခြင်း၊ အင်စတန့်များ စတင်နေဆဲတွင် စကေးအောက်အသစ်မရှိ။ ပိတ်ထား = အနည်းဆုံးအတိအကျ။

နိမ့် = ကြိုတင်နေရာပိုနှင့် ကုန်ကျစရိတ်ပို။ တိုင်းထားသောအသုံးချမှုသည် 100 % ကိုမကျော်နိုင်ပါ၊ ထို့ကြောင့် ပြည့်နေသောရေယာဉ်စုသည် အဆင့်ဆင့်သာ ကြီးထွားသည်။

ရှည်သော TTL = ထိမှန်မှုပိုများသော်လည်း အဖြေများ ပိုဟောင်းနိုင်သည် (ပျမ်းမျှအသက် ≈ TTL/2)။

မိနစ် 6 အတွက် ပူသောကီးများကို တင်သည် (တစ်မိနစ်လျှင် ကက်ရှ်၏ +12 %) ဒေတာဘေ့စ်မေးခွန်းအပို 600/s ဈေးနှုန်းဖြင့်။

ဦးစားပေးနိမ့်သော 30 % (ကြိုတင်ယူခြင်း၊ အစုလိုက်၊ ခရော်လာများ) ၏ ဝေစုကို "နောက်မှပြန်စမ်းပါ" ဖြင့် လုပ်ငန်းချိန်ခွင်လျှာတွင် ငြင်းပယ်သည်။

လေးလံသောဖီးချာက တောင်းဆိုမှုတစ်ခုလျှင် CPU 20 ms နှင့် ဒေတာဘေ့စ်မေးခွန်းတစ်ခု ထပ်ထည့်သည်။ ပိတ်ထား = ဖြည်းဖြည်းချင်းလျော့ကျခြင်း။

နောက်ဆုံးကောင်းသော ဘီလ်ဒ်ကို ဖလိတ်အသစ်ပေါ်တွင် ပြန်လည်တပ်ဆင်သည် (5 min၊ နှစ်ကြိမ်ကောက်ခံသည်)၊ ထို့နောက် ထရားဖစ်ကို ပြောင်းသည်။ ထပ်နှိပ်လျှင် ပြင်ဆင်မှုပြန်စသည်၊ ဆိုးသောဘီလ်ဒ်မရှိချိန်တွင် ငွေသာကုန်သည်။

ညွှန်ကိန်းများ

အမှားနှုန်း
0.00%
ပုံမှန်
p99 နှောင့်နှေးမှု
342ms
ပုံမှန်
ကျန်ရှိသောအမှားဘတ်ဂျက် (30 ရက်)
50.0%
ပုံမှန်
ရေယာဉ်စုအသုံးချမှု
52%
ပုံမှန်
လောင်ကျွမ်းနှုန်း (1 h)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 · ရုတ်တရက်လူအုပ်

ဝန်ဆောင်မှု၏လင့်ခ်သည် မြန်မြန်ပျံ့နှံ့နေပြီး ဤနံနက် တစ်ချိန်ချိန်တွင် traffic လှိုင်းတစ်ခု မျှော်လင့်ရသည် — ဘယ်အချိန်၊ ဘယ်လောက်ကြီးသည်ကို မည်သူမျှမသိပါ။ ယနေ့ instance အသစ်များ စတင်ရန် မိနစ် 8 ကြာသည်။ ရောက်လာသောအခါ အလကားစွမ်းရည်ပေါ် ငွေမမီးရှို့ဘဲ အမှားများနှင့် နှောင့်နှေးမှုကို နိမ့်ထားပါ။

  • ပျမ်းမျှအမှားနှုန်း ≤ 0.2 %
  • ပျမ်းမျှ p99 နှောင့်နှေးမှု ≤ 400 ms
  • ပျမ်းမျှစွန့်ပစ်ထရားဖစ် ≤ 5 %
  • စုစုပေါင်းကုန်ကျစရိတ် ≤ $21
  • အကြံပြုချက်များ အချိန်၏ ≥ 85 % ရရှိနိုင်သည်

အဆင့် 3 · အေးသောကက်ရှ်

နေ့လည်ထိပ်တန်းတွင် ပြုပြင်ထိန်းသိမ်းမှုစခရစ်က ကက်ရှ်တစ်ခုလုံးကိုရှင်းသည်။ ယခု တောင်းဆိုမှုတိုင်း ဒေတာဘေ့စ်သို့သွားပြီး ၎င်းသည် ပုံမှန် 85 % ထိမှန်နှုန်းအတွက် ဖန်တီးထားခြင်းဖြစ်သည်။ ဒေတာဘေ့စ်ကို ဝန်မလွန်စေဘဲ ဝန်ဆောင်မှုကို ပြန်ရပါ။

  • ပျမ်းမျှအမှားနှုန်း ≤ 1.5 %
  • ပထမမိနစ်ပြီးနောက် ဒေတာဘေ့စ်အသုံးချမှု 90 % အထက် ဘယ်တော့မှမရောက်
  • ကက်ရှ်အဖြေများ၏ ပျမ်းမျှအသက် ပျမ်းမျှ ≤ 90 s
  • စုစုပေါင်းကုန်ကျစရိတ် ≤ $9
  • အကြံပြုချက်များ အချိန်၏ ≥ 80 % ရရှိနိုင်သည်
  • ပျမ်းမျှစွန့်ပစ်ထရားဖစ် ≤ 5 %

အခြေခံ — ကိန်းဂဏန်းများနောက်ကွယ်ရှိ မော်ဒယ်

ဆင်မျူလေတာအသုံးပြုသော ဆက်စပ်ချက်တိုင်းကို ရင်းမြစ်နှင့်အတူ ဖော်ပြထားသည်။ ယူဆချက်အဖြစ် အမှတ်အသားပြုထားသော ကိန်းသေများသည် ဥပမာချိန်ညှိမှုများဖြစ်သည်။

တောင်းဆိုမှုများသည် နေ့စဉ်မျဉ်းကွေးနှင့် အနှောင့်အယှက်များကိုလိုက်သည်၊ တစ်မိနစ်လျှင်အရေအတွက်မှာ ကျပန်းဖြစ်သည် (ပွာဆွန်၊ ပုံမှန်ခန့်မှန်းချက်) အနည်းငယ်ပေါက်ကွဲမှုပါသည်။
λ(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-s အချိန်ကုန်ဆုံးချိန်တွင်လည်း စောင့်နေသောတောင်းဆိုမှုများ မအောင်မြင်ပါ။ စွမ်းရည်ကျော်လွန်ပါက အပိုသည် မအောင်မြင်ပါ။
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ယူဆချက်: လုပ်သားအရေအတွက်၊ ဝန်ဆောင်မှုချိန်၊ ဒေတာဘေ့စ်စွမ်းရည်၊ ကက်ရှ်အရွယ်အစား၊ ပြန်ဖြည့်အမြန်နှုန်း၊ ဈေးနှုန်းများနှင့် မကောင်းသောတည်ဆောက်မှု၏ အမှားနှုန်းသည် အလယ်အလတ်ဝက်ဘ်ဝန်ဆောင်မှုအတွက် သရုပ်ပြတန်ဖိုးများဖြစ်သည်။

ကျပန်းဖြစ်မှု- seed ပါသော mulberry32 ဂျင်နရေတာ၊ သုံးသောဖြန့်ဝေမှုများ — တူညီ၊ ထပ်ကိန်း (ပြောင်းပြန် CDF)၊ ပုံမှန် (Box–Muller)၊ ပွာဆွန် (Knuth)။ seed ကို ပြသပြီး မျှဝေနိုင်သည်။

ရင်းမြစ်များ

  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

ဤအလုပ်ကို အသက်မွေးအတွက် မည်သူလုပ်သနည်း

ပညာရေးဆိုင်ရာမော်ဒယ် — လုပ်ငန်းလည်ပတ်မှုဆုံးဖြတ်ချက်များအတွက် မဟုတ်ပါ။ အစစ်အမှန်နေရာများသည် ကိန်းသေတိုင်းကို ၎င်းတို့၏ကိရိယာနှင့် ဒေတာနှင့် ချိန်ညှိသည်။