L = λ × W
क्षमता योजना में सबसे उपयोगी समीकरण
किसी भी स्थिर कतार के लिए, भले ही इसकी आंतरिक संरचना कुछ भी हो: L = λ × W, जहां:
- L = औसत किसी भी वस्तु की संख्या प्रणाली में (काम में या प्रतीक्षा में)
- λ (लैम्डा) = औसत आगमन दर (वस्तुएँ प्रति इकाई समय)
- W = औसत समय प्रत्येक वस्तु का प्रणाली में
ज्यामितीय पढ़ने: λ को एक अक्ष पर और W को दूसरे अक्ष पर रखें। L का उत्पाद चतुर्भुज बनाने वाला क्षेत्र होता है। क्षमता योजना इस चतुर्भुज के अंदर होती है।
इसका महत्व: तीनों मात्रकों को निर्धारित करते हैं। प्रवाह और लेटेंस मापें, आप जानते हैं कि कब्जा है। कब्जा और प्रवाह मापें, आप जानते हैं कि लेटेंस। कानून का उपयोग करता है: वेब अनुरोध, रेस्तरां टेबल, सुपरमार्केट कतारें, और CPU पाइपलाइन्स को बिना परिवर्तन के आवेदन करता है।
तीन वास्तविक उदाहरण:
- एक वेब सेवा 200 req/s का सामना करती है जिसमें औसत लेटेंस 50 मिलीसेकंड (0.05 सेकंड) होता है। L = 200 × 0.05 = 10 इन फ्लाइट में।
- एक कॉफी शॉप 60 ग्राहक / घंटा से सेवा करती है जिसका औसत स्थायी समय 15 मिनट (0.25 घंटा) होता है। L = 60 × 0.25 = 15 ग्राहक अंदर।
- एक बैकएंड पूल 1500 req/s का सामना करता है जिसमें औसत लेटेंस 200 मिलीसेकंड (0.2 सेकंड) होता है। L = 1500 × 0.2 = 300 इन फ्लाइट।
क्षमता संकेत: एक तीर की कार्यक्षमता / कर्मचारी गिनती / धागा गिनती / संबंधों की गिनती उस तीर को रखनी चाहिए जो कम से कम L होता है ताकि वह चल सकता हो। कुछ कम माना मतलब कतार बढ़ती है।
लेटेंस क्यों विस्फोट करता है 80% उपयोग के बाद
संचालन में सबसे महत्वपूर्ण क्रांति
प्लॉट उपयोग को x-आसन (0% से 100%) में और औसत वेट टाइम को y-आसन पर। आकार क्षमता प्लानिंग में सबसे महत्वपूर्ण वक्रों में से एक है।
M/M/1 कीओइंग मॉडल: एक पॉइसन आगमन (अर्धचालक) और एक्सपोनेंशियल सेवा समय (अर्धचालक) वाले सिस्टम के लिए औसत वेटिंग टाइम:
W_q = ρ / (μ × (1 - ρ))
जहां ρ उपयोग (0 से 1) है और μ सेवा दर है।
वक्र की आकृति:
- ρ = 0.5 (50% उपयोग) पर वेट टाइम छोटा होता है (1 सेवा समय)।
- ρ = 0.7 (70% उपयोग) पर वेट टाइम ~2.3 सेवा समय है।
- ρ = 0.8 (80% उपयोग) पर वेट टाइम ~4 सेवा समय है।
- ρ = 0.9 (90% उपयोग) पर वेट टाइम ~9 सेवा समय है।
- ρ = 0.95 (95% उपयोग) पर वेट टाइम ~19 सेवा समय है।
- ρ = 1.0 (100% उपयोग) पर वेट टाइम अनंत होता है।
जोड़: लगभग 80% उपयोग पर वक्र तेजी से मोड़ लेता है। जोड़ के नीचे, क्षमता सुविधाजनक होती है; इसके ऊपर, लेटेंसी उपयोग के तेजी से बढ़ने के मुकाबले तेजी से बढ़ती है।
पрак्टिकल पढ़ने: 70% उपयोग के लिए स्थिर अवस्था के लिए लक्ष्य रखें। 100% के लिए कभी नहीं। 30% 'हेडरूम' बर्बादी नहीं है; यह सीमित लेटेंस की कीमत है।
क्षमता के जोड़ के साथ
दो स्केनरियो:
स्केनरियो ए: 10 रिप्लिका चल रहे हैं जो 60% CPU उपयोग पर हैं। लेटेंस p99 = 100 मिलीसेकंड।
स्केनरियो बी: ट्रैफिक बढ़ोतरी के कारण उसी फ़्लीट को 90% CPU उपयोग पर चल रहा है। p99 = 600 मिलीसेकंड।
सामान फ़्लीट, सामान कोड, सिर्फ उपयोग बदल गया।
साइज़ और ट्रिगर साथ में
सिंथेसिस
अब आप लिटल्स कानून को रेक्टेंगल के रूप में लागू कर सकते हैं, क्यूइंग क्रीव पढ़ सकते हैं और उसके जांघ को जोड़ सकते हैं, और क्षमता निर्णयों को जोड़ सकते हैं।
दोनों को लागू करें।
पीछे के टियर को 2,000 रिक्वेस्ट / सेकंड का समर्थन करते हैं, औसत लेटेंसी 50 एमएस प्रति रिप्लिका क्षमता 80 रिक्वेस्ट / सेकंड 70% CPU। 2x सर्ज फैक्टर; आप 3 सिमुल्टेनियस रिप्लिका फेलियर का सामना करना चाहते हैं।
साथी नोट्स
साथी नोट्स
यह ज्यामिति-of पाठ Stateless Horizontal Scaling मुख्य पाठ को संख्यात्मक ज्यामिति में परिवर्तित करता है।
अगला साथी, geometry_of_ingress_egress_separation, नेटवर्क-परिधि विभाजन को एक दो-स्तरीय ग्राफ के रूप में परिवर्तित करता है, जिसमें विभाजन काटने वाले वेर्टेक्स को हटा देता है।
बहुत अच्छा काम किया।