मैं अपाचे httpd मैनुअल को ऑनलाइन मना कर रहा था और इसे सक्षम करने के लिए एक निर्देश आया। इसके लिए मैन पेज में एक विवरण मिला tcp:
TCP_DEFER_ACCEPT (since Linux 2.4)
Allow a listener to be awakened only when data arrives on the
socket. Takes an integer value (seconds), this can bound the
maximum number of attempts TCP will make to complete the
connection. This option should not be used in code intended
to be portable.
तब मुझे यह लेख मिला, लेकिन मैं अभी भी स्पष्ट नहीं हूं कि यह किस तरह के वर्कलोड के लिए उपयोगी होगा। मैं यह मान रहा हूं कि यदि httpdइसके लिए विशेष रूप से एक विकल्प है, तो यह वेब सर्वर के लिए कुछ प्रासंगिकता होनी चाहिए। मैं इस तथ्य से भी मान रहा हूं कि यह एक विकल्प है और httpdनेटवर्क कनेक्शन कैसे नहीं है, कि ऐसे मामले हैं जहां आप इसे चाहते हैं और अन्य जहां आप नहीं करते हैं।
लेख पढ़ने के बाद भी, मैं इस बात पर स्पष्ट नहीं हूं कि तीन तरह से हाथ मिलाने का इंतजार करने का क्या फायदा होगा। यह सुनिश्चित करने के लिए लाभप्रद होगा कि ऐसा करने से संबंधित httpdउदाहरण में स्वैप करने की आवश्यकता नहीं है, जबकि हैंडशेक संभावित कनेक्शन के बजाय अभी भी चल रहा है क्योंकि कनेक्शन बनने के बाद देरी हो रही है।
लेख के लिए, यह भी मुझे प्रतीत होगा कि TCP_DEFER_ACCEPTसॉकेट की स्थिति कोई फर्क नहीं पड़ता , आपको अभी भी चार पैकेट (प्रत्येक मामले में डेटा फिर हाथ मिलाना) की आवश्यकता होगी। मैं नहीं जानता कि उन्हें कैसे तीन तक गिनती मिलती है, न ही यह कैसे सार्थक वृद्धि प्रदान करता है।
तो मेरा प्रश्न मूल रूप से है: क्या यह सिर्फ एक पुराना अप्रचलित विकल्प है या इस विकल्प का वास्तविक उपयोग मामला है?