मेरे पास 5 मिनट में लिखा गया एक बहुत ही सरल प्रोग्राम है जो अनुरोध के माध्यम से एक अलग सॉकेट और लूप खोलता है और स्क्रीन पर भेजे गए बाइट स्क्रीन पर प्रिंट करता है।क्या लिनक्स पर मशीनों के बीच टीसीपी/आईपी कनेक्शन की संख्या पर कोई सीमा है?
मैंने फिर बेंचमार्क करने की कोशिश की कि मैं इस कार्यक्रम के साथ कितने समवर्ती उपयोगकर्ताओं का समर्थन कर सकता हूं, यह जानने के लिए मैं कितने कनेक्शन हथौड़ा कर सकता हूं।
किसी अन्य मशीन पर (जहां उनके बीच नेटवर्क संतृप्त नहीं है) मैंने एक सरल प्रोग्राम बनाया जो लूप में जाता है और सर्वर मशीन से जुड़ता है और बाइट्स "हैलो वर्ल्ड" भेजता है।
जब लूप 1000-3000 होता है तो ग्राहक भेजे गए सभी अनुरोधों के साथ समाप्त होता है। जब लूप 5000 से अधिक हो जाता है तो अनुरोधों की पहली एक्स संख्या समाप्त करने के बाद समय समाप्त हो जाता है। ऐसा क्यों है? मैंने लूप में अपना सॉकेट बंद करना सुनिश्चित कर लिया है।
क्या आप केवल एक निश्चित अवधि के भीतर इतने सारे कनेक्शन बना सकते हैं?
क्या यह सीमा केवल उसी मशीन के बीच लागू होती है और मुझे इस उत्पादन में चिंता करने की आवश्यकता नहीं है जहां 5000+ अनुरोध विभिन्न मशीनों से आ रहे हैं?
आप एस एस -s आदेश का उपयोग कर अपने सॉकेट निगरानी कर सकते हैं। और यदि आवश्यक हो तो सॉकेट सीमा बढ़ाने के लिए चरणों का पालन करें – Antarus
आप TIMED_WAIT सॉकेट का उपयोग कर सकते हैं जैसे: s = socket.socket (socket.AF_INET, सॉकेट.SOCK_STREAM, 0) ' ' s।setockopt (सॉकेट.SOL_SOCKET, सॉकेट.SO_REUSEADDR, 1) ' – knutole