IT পৰিচালনা — ছাইট ৰিলায়েবিলিটি লাইভ মডেল

আপুনি এটা ৱেব সেৱাৰ বাবে অন-কল: ইনষ্টেন্সৰ ফ্লীটৰ সন্মুখত এটা লোড বেলেন্সাৰ, ডাটাবেছৰ সন্মুখত এটা কেশ, আৰু এটা 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
  • সেৱা দি থকা ইনষ্টেন্স
  • বুট হৈ থকা ইনষ্টেন্স
  • বেয়া বিল্ডত থকা ইনষ্টেন্স
  • খালী ঠাই
  • অহা অনুৰোধ

নিয়ন্ত্ৰণ

ফ্লীটৰ ভিত্তি। ইয়াক বঢ়ালে লগে লগে ইনষ্টেন্স আৰম্ভ হয় — সিহঁতে সেৱা দিয়াৰ আগতে এতিয়াও বুট বিলম্বৰ প্ৰয়োজন।

ব্যৱহাৰৰ ওপৰত লক্ষ্য অনুসৰণ; ইনষ্টেন্সবোৰ এতিয়াও বুট হৈ থাকোঁতে নতুন স্কেল-আউট নাই। বন্ধ = ঠিক নূন্যতম।

কম = বেছি হেডৰুম আৰু বেছি খৰচ। জোখা ব্যৱহাৰ 100 % ৰ ওপৰলৈ যাব নোৱাৰে, গতিকে সংপৃক্ত ফ্লীট কেৱল পদক্ষেপ-পদক্ষেপে বাঢ়ে।

দীঘল TTL = বেছি হিট, কিন্তু উত্তৰবোৰ পুৰণি হ'ব পাৰে (গড় বয়স ≈ TTL/2)।

6 মিনিটৰ বাবে গৰম কী লোড কৰে (প্ৰতি মিনিটত কেশৰ +12 %) 600 অতিৰিক্ত ডাটাবেছ প্ৰশ্ন/s ৰ মাচুলত।

নিম্ন-অগ্ৰাধিকাৰৰ 30 % ৰ (প্ৰিফেচ, বেচ, ক্ৰ'লাৰ) যিটো অংশ লোড বেলেন্সাৰত “পিছত পুনৰ চেষ্টা কৰক” বুলি প্ৰত্যাখ্যান কৰা হয়।

গধুৰ বৈশিষ্ট্যই প্ৰতি অনুৰোধত 20 ms CPU আৰু এটা ডাটাবেছ প্ৰশ্ন যোগ কৰে। বন্ধ = ধীৰ অৱনতি।

শেষৰ ভাল বিল্ড এটা নতুন ফ্লীটত পুনৰ ডিপ্লয় কৰে (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 · হঠাৎ ভিৰ

সেৱাটোলৈ এটা লিংক দ্ৰুতগতিত বিয়পি আছে আৰু আজি পুৱা কোনোবা সময়ত ট্ৰেফিকৰ ঢৌ অহাৰ আশা কৰা হৈছে — কেতিয়া, বা কিমান ডাঙৰ, কোনেও নাজানে। আজি নতুন ইনষ্টেন্স বুট হ'বলৈ 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-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অনুমান: ৱৰ্কাৰৰ সংখ্যা, সেৱা সময়, ডাটাবেছৰ ক্ষমতা, কেশৰ আকাৰ, ৰিফিলৰ গতি, মূল্য আৰু বেয়া বিল্ডৰ ভুলৰ হাৰ এটা মধ্যম আকাৰৰ ৱেব সেৱাৰ বাবে উদাহৰণস্বৰূপ মান।

যাদৃচ্ছিকতা: এটা বীজযুক্ত mulberry32 জেনেৰেটৰ; ব্যৱহৃত বিতৰণ — সমান, ঘাতাংকীয় (ব্যস্ত CDF), স্বাভাৱিক (Box–Muller), পইছন (Knuth)। বীজ দেখুওৱা হয় আৰু শ্বেয়াৰ কৰিব পাৰি।

উৎস

  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

ইয়াক জীৱিকা হিচাপে কোনে কৰে

শিক্ষামূলক মডেল — কাৰ্যকৰী সিদ্ধান্তৰ বাবে নহয়। প্ৰকৃত স্থানবোৰে প্ৰতিটো ধ্ৰুৱক নিজৰ সৰঞ্জাম আৰু তথ্য অনুসৰি কেলিব্ৰেট কৰে।