English· Español· Deutsch· Nederlands· Français· 日本語· ქართული· 繁體中文· 简体中文· Português· Русский· العربية· हिन्दी· Italiano· 한국어· Polski· Svenska· Türkçe· Українська· Tiếng Việt· Bahasa Indonesia

un

अतिथि
1 / ?
पाठों पर वापस जाएँ

L = λ × W

क्षमता योजना में सबसे उपयोगी समीकरण

किसी भी स्थिर कतार के लिए, चाहे उसकी आंतरिक संरचना कुछ भी हो: L = λ × W, जहाँ:

- L = प्रणाली में वस्तुओं की औसत संख्या (प्रगति में या प्रतीक्षा में)

- λ (लैम्ब्डा) = औसत आगमन दर (प्रति इकाई समय में वस्तुएँ)

- W = प्रत्येक आइटम द्वारा प्रणाली में बिताया गया औसत समय

ज्यामितीय पठन: λ को एक अक्ष पर और W को दूसरे अक्ष पर प्लॉट करें। गुणज L वह क्षेत्रफल है जो वे बनाते हैं। क्षमता नियोजन इस आयत के भीतर ही होता है।

यह क्यों महत्वपूर्ण है: तीन मात्राओं में से कोई भी दो तीसरी को निर्धारित करती हैं। थ्रूपुट और लेटेंसी मापें, तो आपको ऑक्यूपेंसी पता होगी। ऑक्यूपेंसी और थ्रूपुट मापें, तो आपको लेटेंसी पता होगी। यह नियम दृढ़ है: यह वेब अनुरोधों, रेस्टोरेंट की मेज़ों, सुपरमार्केट कतारों और CPU पाइपलाइनों पर बिना किसी संशोधन के लागू होता है।

तीन विशिष्ट उदाहरण:

- एक वेब सेवा 200 req/s की दर से अनुरोधों का प्रबंधन करती है, जिसकी औसत लेटेंसी 50 ms (0.05 s) है। L = 200 × 0.05 = 10 (उड़ान में)।

- एक कॉफ़ी शॉप 60 ग्राहक/घंटे की दर से सेवा देती है, जिसकी औसत ड्वेल टाइम 15 मिनट (0.25 घंटे) है। L = 60 × 0.25 = 15 ग्राहक अंदर।

- एक बैकएंड पूल 1500 req/s की दर से अनुरोधों का प्रबंधन करता है, जिसकी औसत लेटेंसी 200 ms (0.2 s) है। L = 1500 × 0.2 = 300 (उड़ान में)।

साइज़िंग प्रभाव: किसी टियर के वर्कर काउंट / थ्रेड काउंट / कनेक्शन काउंट को पकड़ बनाए रखने के लिए कम से कम L होना चाहिए। इससे कम होने का अर्थ है कतार में वृद्धि।

Little's Law as area: λ on x, W on y, L = area

आपका API टियर औसतन 80 ms की लेटेंसी के साथ 1,200 req/s संभाल रहा है। L की गणना करने के लिए लिटल के नियम (Little's Law) का प्रयोग करें। फिर समझाएं कि क्या बदलाव होता है (a) यदि ट्रैफ़िक 2,400 req/s तक दोगुना हो जाता है और लेटेंसी अपरिवर्तित रहती है, और (b) यदि ट्रैफ़िक 1,200 req/s पर ही रहता है लेकिन लेटेंसी 160 ms तक बढ़ जाती है। किस परिदृश्य में L बड़ा होता है, और इसका संचालन (operationally) दृष्टि से क्या अर्थ है?

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% उपयोग) पर, प्रतीक्षा समय अनंत है।

घुटना (Knee): लगभग 80% उपयोग पर, वक्र तीव्रता से मुड़ता है। घुटने के नीचे, क्षमता आरामदायक होती है; ऊपर, विलंबता (latency) उपयोग की तुलना में तेजी से बढ़ती है।

व्यावहारिक पठन: स्थिर-अवस्था (steady-state) के लिए 70% उपयोग का लक्ष्य रखें, कभी भी 100% का नहीं। 30% 'हेडरूम' (headroom) बर्बादी नहीं है; यह सीमित विलंबता की कीमत है।

Queueing curve with knee at 80% utilization

नी (Knee) के पार साइज़िंग

दो परिदृश्य:

परिदृश्य A: 60% CPU पर 10 रिप्लिका चल रहे हैं। लेटेंसी p99 = 100 ms।

परिदृश्य B: ट्रैफ़िक वृद्धि के कारण 90% CPU पर वही फ्लीट चल रहा है। p99 = 600 ms।

वही फ्लीट, वही कोड, केवल उपयोग (utilization) बदला है।

क्वीयुइंग वक्र (queueing curve) के ज्यामितीय आकार का उपयोग करके समझाएं कि केवल 1.5x उपयोग वृद्धि के बावजूद परिदृश्य B की लेटेंसी 6x खराब क्यों है। फिर प्रस्ताव दें: टीम को किस उपयोग (utilization) पर क्षमता (capacity) जोड़नी चाहिए, और वास्तविक SLO उल्लंघन का इंतज़ार करने के बजाय उस सीमा (threshold) का चयन क्यों करना चाहिए?

आकार और ट्रिगर को साथ में लागू करना

संश्लेषण

अब आप लिली के नियम (Little's Law) को एक आयत के रूप में लागू कर सकते हैं, क्यूइंग वक्र (queueing curve) और उसके घुटने (knee) को पढ़ सकते हैं, और दोनों को क्षमता निर्णयों से जोड़ सकते हैं।

दोनों को लागू करें।

एक बैकएंड टियर 2,000 req/s संभालता है, जिसमें प्रति रिप्लिका की औसत लेटेंसी 50 ms है और 70% CPU पर क्षमता 80 req/s है। सर्ज फैक्टर 2x है; आप 3 रिप्लिकाओं के एक साथ विफल होने (simultaneous replica failures) के मामले में भी टिके रहना चाहते हैं।

गणना करें: (1) बेसलाइन पर लिली के नियम (Little's Law) का उपयोग करके L; (2) पाठ के सूत्र (पीक × सर्ज / प्रति-रिप्लिका) + हेडरूम का उपयोग करके रिप्लिकाओं की संख्या; (3) फ्लीट में देखा गया उपयोग (utilization) किस स्तर पर ऑटोस्केलिंग को ट्रिगर करना चाहिए, और क्यूइंग वक्र (queueing curve) का उपयोग करके इस सीमा (threshold) का औचित्य सिद्ध करें।

संगत नोट्स (Companion Notes)

संगत नोट्स (Companion Notes)

यह ज्यामिति-आधारित पाठ Stateless Horizontal Scaling मुख्य पाठ को मात्रात्मक ज्यामिति के रूप में पुनः प्रस्तुत करता है।

अगला सहपाठी, geometry_of_ingress_egress_separation, नेटवर्क-सीमा विभाजन को एक द्विभागीय ग्राफ़ के रूप में पुनः प्रस्तुत करता है, जिसमें एक कट वर्टेक्स (cut vertex) होता है जिसे विभाजन हटा देता है।

बहुत बढ़िया।