बड़ा सवाल!
परंपरागत रूप से, KeepAlive एक अच्छी बात थी क्योंकि यह एक समग्र पेज लोड के टीसीपी ओवरहेड को काफी कम कर देता है, जहां एक सर्वर से कई अनुरोध (जैसे सभी चित्र, सीएसएस, जेएस) परोसे जा रहे हैं। यदि आपके पृष्ठ में 85 संपत्तियां हैं, तो यह 85 अतिरिक्त तीन तरह से टीसीपी हैंडशेक है, और विलंबता आगे बढ़ती है। धीमे इंटरनेट कनेक्शन के साथ कई साल पहले, यह अब की तुलना में बहुत अधिक महत्वपूर्ण था, हालांकि यह अभी भी मोबाइल ब्राउज़र या किसी धीमी / उच्च विलंबता कनेक्शन के लिए काफी प्रासंगिक है।
हालांकि यहां उल्लेख किया गया है कि उन टीसीपी कनेक्शनों को खुले रखने की अवधि से संबंधित है, और क्या यह आपके अपाचे बच्चे की प्रक्रियाओं को जल्दी से समाप्त कर सकता है। मैंने देखा है कि अधिकांश चूक हैं:
KeepAliveTimeOut 15
MaxClients 256
इसका मतलब है कि अगर मेरे पास 15 अलग-अलग ब्राउज़रों में समान 15 सेकंड में सामग्री का अनुरोध होता है, तो 257 वें ग्राहक को कनेक्शन छोड़ने का इंतजार करना होगा। अच्छा नहीं है - यह विशेष रूप से उच्च यातायात बिल्कुल नहीं है, इसलिए यह उस सलाह की व्याख्या करता है। यह मैक्सक्लिअर्स को सामना करने के लिए एक को बढ़ाने के लिए भी नेतृत्व कर सकता है, जो बहुत सारी मेमोरी खा सकता है। जब मैं KeepAlives का उपयोग करता हूं, तो मैं आम तौर पर KeepAliveTimeout को 2 या 3 सेकंड में सेट करता हूं; यह सभी अनुरोधों के लिए पूरे समय के बजाय अनुरोधों के बीच निष्क्रिय समय है।
यदि आप KeepAlive का उपयोग कर रहे हैं, तो KeepAliveTimeout, MaxClients और सर्वर संसाधनों के बीच एक संतुलन कार्य है। इसके साथ मदद करने के लिए, 'सेवा httpd / apache2 fullstatus' आपको किसी भी समय KeepAlives द्वारा उपयोग किए जा रहे कनेक्शनों की संख्या दिखाएगी - अपरकेस 'K' के साथ इंगित किया गया।
हालांकि Magento के लिए, मुझे नहीं लगता कि आपको KeepAlives की आवश्यकता है।
यदि आपके पास बहुत अधिक ट्रैफ़िक एंटरप्राइज़ साइट है, तो आपके स्थिर सामग्री के लिए CDN का उपयोग करने के लिए आपको क्या करना चाहिए ।
यदि आप कई देशों में बेच रहे हैं, तो CDN का उपयोग करने से न केवल आपके ग्राहकों (जो कि अच्छा है) के लिए समग्र पृष्ठ लोड में तेजी आएगी, बल्कि आपके सर्वर पर आने वाले बैंडविड्थ को कम किया जा सकता है। सिस्टम> कॉन्फ़िगरेशन> वेब> [अन] के तहत सेटिंग्स मीडिया, त्वचा और जावास्क्रिप्ट के लिए किसी भी सीडीएन को एकीकृत करने के लिए वास्तव में तुच्छ बनाती हैं। यह वास्तविक HTTP अनुरोधों का एक बड़ा हिस्सा होगा, और एक बोनस के रूप में आप होस्टनाम में डाउनलोड को समानांतर बनाने के लिए विभिन्न DNS रिकॉर्ड का उपयोग कर सकते हैं। यदि आप इसे सही कर रहे हैं, तो वे अनुरोध आपके सर्वर को मुश्किल से स्पर्श करेंगे, इसलिए अब कोई वास्तविक आवश्यकता नहीं हैKeepAlive के लिए। इस स्थिति में, आपको केए को अक्षम करना चाहिए; हम कनेक्शन को जीवित नहीं रखना चाहते हैं जब हम जानते हैं कि बाकी सामग्री कहीं और से परोसी जा रही है। यदि आप एक स्टैंडअलोन CDN अनुशंसा चाहते हैं: CloudFlare शानदार है, और आपको SSL भी मुफ्त पैकेज के साथ दिया गया है।
इस तरह सीडीएन का उपयोग करते समय, या यदि आप किसी अन्य प्रकार के रिवर्स प्रॉक्सी (जैसे वार्निश) का उपयोग कर रहे हैं, तो आपके अपाचे HTTP कीपलाइव मूल रूप से अप्रासंगिक हैं।
संक्षेप में, मैं सहमत हूं कि आपको संभवतः अपने अपाचे प्रक्रियाओं को लोड के तहत संतृप्त करने से बचने के लिए KeepAlive को अक्षम करना चाहिए , लेकिन निश्चित रूप से परिसंपत्तियों के लिए CDN या अन्य रिवर्स प्रॉक्सी का उपयोग करें, ताकि आपके पृष्ठ का भार संभव हो सके।