ट्रैफ़िक वृद्धि से निपटने के लिए दो सामान्य रणनीतियाँ हैं: क्षमता बढ़ाना और लागत कम करना।
क्षमता बढ़ने का मतलब ऑटो-स्केलिंग है, जो हर किसी के लिए बहुत उत्साहित था जब सार्वजनिक बादल पहले उपलब्ध हो गए। अपने सबसे बुनियादी अर्थ में, यह आपके लिए लोड के आधार पर और अधिक वेबसर्वरों को बूट करेगा और उन्हें एक लोड बैलेंसर में जोड़ देगा, लेकिन चूंकि प्रबंधन करने के लिए एक दर्द हो सकता है, इसलिए इलास्टिक बीनस्टॉक जैसे अधिक स्वचालित उपाय भी हैं।
स्वचालित क्षमता विस्तार के साथ परेशानी यह है कि इसका स्वचालित बिल विस्तार भी है - 10x सामान्य ट्रैफ़िक का मतलब है 10x सर्वर का मतलब है 10x पैसे जो आपको चुकाने होंगे। इसीलिए, जबकि यह ध्यान में रखने के लिए एक उपयोगी रणनीति है, मुझे लगता है कि आपको हमेशा यह देखना चाहिए कि आप कितना धोखा दे सकते हैं।
धोखा देने से मेरा मतलब कैश है, जो इस विचार पर टिका हुआ है कि अधिकांश समय आप उपयोगकर्ताओं को थोड़ा पुराना डेटा दे सकते हैं और वे नोटिस नहीं करेंगे, और यह आपको बहुत समय तक बचा सकता है। कल्पना करें कि आपके पास एक पृष्ठ है जो आप तय करते हैं कि अगर यह पाँच सेकंड पुराना है तो ठीक है, और इसे 20 प्रति सेकंड मिलता है। कैशिंग के बिना, आप उस गणना को एक मिनट में 1200 बार चला रहे हैं, जबकि कैशिंग के साथ यह केवल 12 है। आप देख सकते हैं कि यह कैसे एक जबरदस्त अंतर बना सकता है।
बेशक कई प्रकार के कैशिंग हैं, और एक सफल वेबसाइट उनमें से कई का उपयोग करेगी। लेकिन आपके उपयोग के मामले में, दो बहुत अच्छे और आसान विकल्प हैं।
पहले साइट को पूरी तरह से स्थिर बनाना है। यह मानता है कि आप ऐसा कर सकते हैं, लेकिन यदि आप कर सकते हैं, तो आपके पास बस Nginx सीधे html सेवा करना है, और यह बिना किसी पसीने के अनुरोध के टन की सेवा कर सकता है ।
यदि आपको कुछ स्तर की गतिशीलता की आवश्यकता है, तो कुछ पूर्ण-पृष्ठ कैशिंग करना एक अच्छा विकल्प है। Nginx के पास ऐसा करने की कुछ क्षमता है, लेकिन मैं वास्तव में इसके लचीलेपन के कारण वार्निश को पसंद करता हूं।
जो भी विकल्प या विकल्प आपके साथ जाते हैं, सुनिश्चित करें कि आपने इसे ठीक से सेट अप करने के लिए परीक्षण लोड किया है; कभी-कभी एक जगह फिक्स करने से एक नई अड़चन सामने आती है।