स्केलेबिलिटी को कुछ वेरिएबल के आधार पर थ्रूपुट के संदर्भ में मापा जाता है। उदाहरण के लिए, X उपयोगकर्ताओं के साथ अनुरोधों की संख्या / सेकंड । स्केलेबिलिटी का वर्णन करने का सबसे सरल तरीका है:
लोड बढ़ने पर दक्षता का एक उपाय ।
स्केलेबिलिटी के लिए डिजाइनिंग में आपको जो पहली चीज समझने की जरूरत है, वह यह है कि आपके एप्लिकेशन के लिए क्या माप सबसे महत्वपूर्ण है? दक्षता को मापने के कई तरीके हैं जो स्केलेबिलिटी का एक प्रमुख घटक है:
- प्रति सेकंड समवर्ती अनुरोध
- अनुरोध के अनुसार औसत प्रतिक्रिया समय
- प्रति सेकंड / मिनट संसाधित रिकॉर्ड की संख्या
अधिक दक्षता माप हैं जिनका उपयोग किया जा सकता है, लेकिन ये वेब आधारित सिस्टम या बैच प्रोसेसिंग सिस्टम के लिए सामान्य हैं।
स्केलेबिलिटी का अगला पहलू यह है कि लोड बढ़ने पर आपकी दक्षता का क्या होता है। लोड बढ़ाने के सामान्य तरीके हैं:
- सर्वर से अधिक उपयोगकर्ता (यानी अधिक वेब ट्रैफ़िक)
- डेटाबेस में अधिक डेटा (यानी प्रश्न अधिक समय लेते हैं, या प्रसंस्करण में अधिक समय लगता है)
- RAID में हार्ड ड्राइव की विफलता (भंडारण प्रदर्शन / विश्वसनीयता प्रभावित होती है)
- नेटवर्क संतृप्ति
एक स्केलेबल एप्लिकेशन के लिए लक्ष्य या तो बनाए रखना है या दक्षता में सुधार करना है क्योंकि हम लोड की समस्या से निपटते हैं। संक्षेप में, यदि प्रतिक्रिया समय बहुत लंबा हो रहा है, तो क्या हम लोड को समान रूप से वितरित करने के लिए एक और सर्वर जोड़ सकते हैं? यह दृष्टिकोण एक सर्वर के लिए काम करने की मात्रा को कम कर देता है, और कार्यकुशलता के लिए "स्वीट स्पॉट" में सर्वर को चालू रखता है।
आपको एप्लिकेशन को विशेष रूप से स्केल करने के लिए डिज़ाइन करना होगा। इसका मतलब है कि आपको सत्र डेटा के साथ सावधान रहना होगा, सही सर्वर के लिए अनुरोधों को रूट करना होगा, आवेदन के लिए क्षमता को सीमित करने वाले बाधाओं को कम करना होगा।