एक वेब सर्वर कितने सॉकेट कनेक्शन को संभाल सकता है?


114

कहो कि क्या मुझे साझा, आभासी या समर्पित होस्टिंग प्राप्त करना था, मैंने कहीं पढ़ा कि एक सर्वर / मशीन केवल एक बार में 64,000 टीसीपी कनेक्शन संभाल सकती है, क्या यह सच है? बैंडविड्थ की परवाह किए बिना कितने प्रकार के होस्टिंग संभाल सकते हैं? मैं मान रहा हूं कि टीसीपी पर HTTP काम करता है।

क्या इसका मतलब केवल 64,000 उपयोगकर्ता वेबसाइट से जुड़ सकते हैं, और यदि मैं अधिक सेवा करना चाहता हूं तो मुझे एक वेब फ़ार्म पर जाना होगा?


2
उत्तरदाताओं के लिए क्षमा याचना, मैं एक बवंडर की तरह इस धागे के माध्यम से फट गया हूं। मेरी पसंद के लिए बस बहुत सारे गलत जवाब थे, और अभी भी कोई सीधा जवाब नहीं है। मैं स्टैकओवरफ़्लो का उपयोग करता हूं और कई उच्च गुणवत्ता वाले उत्तर पाता हूं। मुझे उम्मीद है कि अन्य लोग इस धागे को खोजने और एक उपयोगी सूचित उत्तर खोजने में सक्षम होंगे।
टोड

हाय डेविड, क्या आपको इस प्रश्न का सही उत्तर मिला?
डिश

सर्वर के एकल आईपी पर 64000 टीसीपी कनेक्शन। आप पैमाने पर करने के लिए अपने सर्वर नेटवर्क के उन्नयन और की तुलना में अधिक 64000. समर्थन कर सकते हैं
हवादार

जवाबों:


108

संक्षेप में: आप लाखों सक्रिय टीसीपी कनेक्शनों के क्रम में और एचटीटीपी अनुरोध (एक्सटेंशन) के जरिए हासिल कर सकते हैं । यह आपको सही प्रदर्शन के साथ सही मंच के साथ अधिकतम प्रदर्शन की उम्मीद कर सकता है।

आज, मैं चिंतित था कि क्या ASP.NET के साथ IIS 100 समवर्ती कनेक्शनों के क्रम में समर्थन करेगा (मेरे अपडेट को देखें, पुराने ASP.Net मोनो संस्करणों पर प्रति सेकंड ~ 10k प्रतिक्रियाएं)। जब मैंने इस प्रश्न / उत्तर को देखा, तो मैं अपने आप को जवाब देने का विरोध नहीं कर सका, यहाँ प्रश्न के कई उत्तर पूरी तरह से गलत हैं।

सबसे अच्छा मामला

इस सवाल का जवाब केवल सबसे सरल सर्वर कॉन्फ़िगरेशन के साथ ही चिंतित होना चाहिए अनगिनत चर और विन्यास संभव बहाव के नीचे से।

तो मेरे उत्तर के लिए निम्नलिखित परिदृश्य पर विचार करें:

  1. टीसीपी सत्रों पर कोई ट्रैफिक नहीं, सिवाय जिंदा पैकेटों के (अन्यथा आपको स्पष्ट रूप से नेटवर्क बैंडविड्थ और अन्य कंप्यूटर संसाधनों की एक समान राशि की आवश्यकता होगी)
  2. सॉफ्टवेयर एक पूल से अनुरोध के बजाय एक हार्डवेयर थ्रेड के बजाय अतुल्यकालिक सॉकेट और प्रोग्रामिंग का उपयोग करने के लिए डिज़ाइन किया गया है। (यानी। IIS, Node.js, Nginx ... वेबसर्वर [लेकिन अपाचे] async डिज़ाइन किए गए एप्लिकेशन सॉफ़्टवेयर के साथ नहीं)
  3. अच्छा प्रदर्शन / डॉलर सीपीयू / राम। आज, मनमाने ढंग से, आइए 8 जीबी रैम के साथ आई 7 (4 कोर) कहते हैं।
  4. मैच के लिए एक अच्छा फ़ायरवॉल / राउटर।
  5. कोई आभासी सीमा / राज्यपाल - अर्थात। लिनक्स somaxconn, IIS web.config ...
  6. अन्य धीमे हार्डवेयर पर कोई निर्भरता नहीं - हार्डडिस्क से कोई रीडिंग नहीं, क्योंकि यह सबसे कम सामान्य भाजक और अड़चन होगा, नेटवर्क आईओ नहीं।

विस्तृत जवाब

सिंक्रोनस थ्रेड-बाउंड डिज़ाइन असिंक्रोनस IO कार्यान्वयन के सापेक्ष सबसे खराब प्रदर्शन करते हैं।

व्हाट्सएप को एक सिंगल यूनिक्स फ्लेवर्ड OS मशीन पर ट्रैफिक के साथ एक मिलियन मिलता है - https://blog.whatsapp.com/index.php/2012/01/1-million-is-so-2011/

और अंत में, यह एक, http://highscalability.com/blog/2013/5/13/the-secret-to-10-million-concurrent-connections-the-kernel-i.html , बहुत विस्तार में जाता है खोज की जा रही है कि कैसे 10 मिलियन भी हासिल किए जा सकते हैं। सर्वर में अक्सर हार्डवेयर टीसीपी ऑफ़लोड इंजन होता है, एएसआईसी इस विशिष्ट भूमिका के लिए डिज़ाइन किया गया है जो सामान्य प्रयोजन सीपीयू की तुलना में अधिक कुशलता से होता है।

अच्छा सॉफ्टवेयर डिजाइन विकल्प

अतुल्यकालिक IO डिजाइन ऑपरेटिंग सिस्टम और प्रोग्रामिंग प्लेटफार्मों में भिन्न होगा। Node.js को अतुल्यकालिक को ध्यान में रखकर डिजाइन किया गया था । आपको कम से कम वादों का उपयोग करना चाहिए, और जब ECMAScript 7 साथ आता है, async/ await। नेट # / नेट पहले से ही नोड की तरह पूर्ण अतुल्यकालिक समर्थन है। जो भी ओएस और प्लेटफॉर्म, अतुल्यकालिक से बहुत अच्छा प्रदर्शन करने की उम्मीद की जानी चाहिए। और जो भी भाषा आप चुनते हैं, "असिंक्रोनस" कीवर्ड की तलाश करें, अधिकांश आधुनिक भाषाओं में कुछ समर्थन होगा, भले ही यह किसी प्रकार का ऐड-ऑन हो।

WebFarm को?

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

एक मिथक का भंडाफोड़ - 64K बंदरगाहों

"64,000" के संबंध में प्रश्न घटक को संबोधित करने के लिए, यह एक गलत धारणा है। एक सर्वर 65535 से अधिक ग्राहकों से जुड़ सकता है। Https://networkengineering.stackexchange.com/questions/48283/is-a-tcp-server-limited-to-65535-clients/48284 देखें

वैसे, विंडोज पर Http.sys HTTP URL स्कीमा के तहत एक ही सर्वर पोर्ट को साझा करने के लिए कई एप्लिकेशन को अनुमति देता है। वे प्रत्येक एक अलग डोमेन बाइंडिंग दर्ज करते हैं, लेकिन अंततः एक एकल सर्वर एप्लिकेशन है जो अनुरोधों को सही अनुप्रयोगों के लिए समीप करता है।

अपडेट 2019-05-30

यहाँ सबसे तेज़ HTTP पुस्तकालयों की तुलना करने की तारीख है - https://www.techempower.com/benchmark/#section=data-r16&hw=ph&test=plaintext

  • परीक्षा तिथि: 2018-06-06
  • हार्डवेयर का इस्तेमाल किया: डेल R440 Xeon Gold + 10 GbE
  • नेता प्रति सेकंड ~ 7M सादा प्रतिध्वनि है (प्रतिक्रियाएं कनेक्शन नहीं)
  • गोलंग के लिए दूसरा एक Fasthttp 1.5M समवर्ती कनेक्शन का विज्ञापन करता है - देखें https://github.com/valyala/hhhpp
  • प्रमुख भाषाएँ हैं रुस्त, गो, सी ++, जावा, सी और यहां तक ​​कि सी # रैंक 11 (6.9M प्रति सेकंड)। स्काला और क्लोजर रैंक में और गिरावट आई है। पायथन 29 वें स्थान पर 2.7M प्रति सेकंड है।
  • सूची के निचले भाग में, मैं लार्वा और केकफ, रेल्स, एस्पनेट-मोनो-एनएक्सएक्स, सिम्फनी, ज़ेंड पर ध्यान देता हूं। सभी 10k प्रति सेकंड से नीचे। ध्यान दें, इन रूपरेखाओं में से अधिकांश गतिशील पृष्ठों के लिए निर्मित हैं और काफी पुरानी हैं, नए संस्करण हो सकते हैं जो सूची में उच्चतर हैं।
  • याद रखें कि यह वेबसाईट विशेषता के लिए नहीं, HTTP सादा है: यहाँ आने वाले कई लोगों को संभवतः वेबसोकेट के समवर्ती कनेक्शन में रुचि होगी।

2
लोगों के लिंक को शामिल करने के लिए धन्यवाद कि वे कैसे कर रहे हैं।
रिक स्मिथ

यदि एकल सर्वर क्लाइंट से जुड़ा हो तो क्या होगा? और क्या होगा अगर आपके सभी एसपीए के बेतरतीब ढंग से एक सर्वर से जुड़े और इसे ओवरलोड किया जाए? भारोत्तोलक का उपयोग करने के लिए विचार सिर्फ 1 का उपयोग करने का नहीं है, आप कई का उपयोग कर सकते हैं जैसे कि
pyros2097

3
ग्राहक बेतरतीब ढंग से एक सर्वर का चयन करेंगे। सभी को बेतरतीब ढंग से एक से जोड़ने की संभावना व्यावहारिक रूप से असंभव है। हालाँकि कोई क्लाइंट काउंट का अनुसरण कर सकता है और सर्वर किसी ग्राहक को किसी अन्य सर्वर पर स्थानांतरित करने के लिए कह सकता है यदि बहुत अधिक भीड़ हो।
टोड

1
पुन :: 64K सीमा - आप जो कहते हैं वह सच है, लेकिन सर्वर बैक के लिए कुछ बैकएंड सेवा (एस) के माध्यम से प्रॉक्सी अनुरोधों के लिए यह काफी सामान्य है, जिस स्थिति में "सर्वर" अब "क्लाइंट" बन जाता है और अच्छी तरह से हो सकता है अल्पकालिक थकावट के बारे में चिंता करने के लिए (जैसे: nginx.com/blog/overcoming-ephemeral-port-exerateion-nginx-plus )। मुझे यकीन है कि आप इसे जानते हैं, लेकिन दूसरों के लिए इसका उल्लेख कर रहे हैं: (
jwd

@jwd अच्छी बात है, एक वेब ऐप पर nginx के लिए प्रासंगिक है, लेकिन एक बुनियादी वेब साइट के लिए, इस तरह की समीपता होने की आवश्यकता नहीं होगी। एक वेब एप्लिकेशन द्वारा टीसीपी के माध्यम से डेटाबेस से जुड़ने के बारे में भी कहा जा सकता है। सिद्धांत रूप में, यह 127 में सभी पते का उपयोग करके हल किया गया है। *। *। * सीमा, लेकिन व्यवहार में मुझे नहीं पता कि क्या यह एक उपलब्ध विकल्प है।
टॉड

54

यह सवाल काफी कठिन है। मशीन के सक्रिय कनेक्शन की संख्या पर कोई वास्तविक सॉफ़्टवेयर सीमा नहीं है, हालांकि कुछ ओएस दूसरों की तुलना में अधिक सीमित हैं। समस्या संसाधनों में से एक बन जाती है। उदाहरण के लिए, मान लें कि एक एकल मशीन 64,000 समकालिक कनेक्शन का समर्थन करना चाहती है। यदि सर्वर प्रति कनेक्शन 1MB RAM का उपयोग करता है, तो उसे 64GB RAM की आवश्यकता होगी। यदि प्रत्येक क्लाइंट को एक फ़ाइल पढ़ने की आवश्यकता होती है, तो डिस्क या स्टोरेज एरे एक्सेस लोड उन उपकरणों की तुलना में बहुत बड़ा हो जाता है जो संभाल सकते हैं। यदि एक सर्वर को प्रति कनेक्शन एक प्रक्रिया को कांटा करने की आवश्यकता होती है, तो ओएस सीपीयू समय के लिए अपने समय संदर्भ स्विचिंग या भूखा प्रक्रियाओं के बहुमत खर्च करेगा।

C10K समस्या पेज को इस मुद्दे का एक बहुत अच्छा विचार-विमर्श किया है।


3
थोड़ा सा मिलाजुला जवाब। ओपी एक सर्वोत्तम मामले का संदर्भ देता हुआ प्रतीत होता है, और इसमें यह भी शामिल है कि कैसे सबसे फायदेमंद मामला होगा, बजाय एक सबसे खराब स्थिति का पता लगाने और फिर एक लेख का संदर्भ देने के लिए जिसका समाधान हो सकता है। नोटिंग डिस्क अड़चन उपयोगी है। अतुल्यकालिक IO का उपयोग करके बहुत अधिक मात्रा में समवर्ती ग्राहकों तक पहुंचा जा सकता है।
टॉड

आप यह कैसे कह सकते हैं कि कोई वास्तविक सॉफ्टवेयर सीमा नहीं है क्योंकि पोर्ट आकार स्वयं 16 बिट है जो अधिकतम 65.5K पर किसी भी पल में अधिकतम पोर्ट उपलब्ध नहीं कराता है। मेरा मानना ​​है कि आपका उत्तर गलत है।
आनंद

आपकी मशीन में 1 से अधिक आईपी हो सकते हैं, इसलिए 2 ^ 16 से अधिक पोर्ट उपलब्ध हैं।
बजे अरमान ऑर्डूकनी

8

वार्तालाप में मेरे दो सेंट जोड़ने के लिए एक प्रक्रिया में एक साथ इस नंबर (लिनक्स प्रकार sytems में) / proc / sys / net / core / somaxconn के बराबर जुड़े कई सॉकेट खुल सकते हैं।

cat / proc / sys / net / core / somaxconn

इस संख्या को मक्खी पर संशोधित किया जा सकता है (केवल रूट उपयोगकर्ता द्वारा)

इको 1024> / proc / sys / net / core / somaxconn

लेकिन पूरी तरह से सर्वर प्रक्रिया, मशीन के हार्डवेयर और नेटवर्क पर निर्भर करता है, जो सिस्टम को क्रैश करने से पहले कनेक्ट किए जा सकने वाले सॉकेट्स की वास्तविक संख्या है।


1
हालांकि संभवतः लिनक्स का सच है, यह एक आभासी सीमा को संदर्भित करता है, संभावनाओं का एक बेंचमार्क नहीं। यह उत्तर मेरी पसंद के लिए थोड़ा विशिष्ट है, और समवर्ती कनेक्शन की संख्या का कोई भी संकेत या संकेत नहीं देता है। आपके प्रयासों के बावजूद, यह बहुत उपयोगी नहीं है। हो सकता है कि आप एक प्रश्न का स्व-उत्तर दे सकें: "मैं लिनक्स पर एक्स समवर्ती टीसीपी कनेक्शन से अधिक सर्वर क्यों नहीं कर सकता"
टोड

2
जहां तक ​​मैं बता सकता हूं यह गलत है । सोमाकोन एक खुले सॉकेट पर कतारबद्ध कनेक्शन की अधिकतम संख्या है (यानी यह बैकलॉग पैरामीटर का अधिकतम मूल्य है listen(int socket, int backlog)। यह उन सॉकेट की संख्या से संबंधित नहीं है जो एक प्रक्रिया हो सकती है।
टिमम्प् सिप

8

ऐसा लगता है कि उत्तर कम से कम 12 मिलियन है यदि आपके पास गोमांस सर्वर है, तो आपका सर्वर सॉफ़्टवेयर इसके लिए अनुकूलित है, आपके पास पर्याप्त ग्राहक हैं। यदि आप एक क्लाइंट से एक सर्वर पर परीक्षण करते हैं, तो क्लाइंट पर पोर्ट नंबर की संख्या स्पष्ट संसाधन सीमाओं में से एक होगी (प्रत्येक टीसीपी कनेक्शन आईपी के अद्वितीय संयोजन द्वारा परिभाषित किया गया है और स्रोत और गंतव्य पर पोर्ट नंबर)।

(आपको पहले पोर्ट नंबर पर 64K की सीमा को हिट करने के लिए कई क्लाइंट चलाने होंगे)

जब यह नीचे आता है, तो यह बुद्धिवाद का एक उत्कृष्ट उदाहरण है कि "सिद्धांत और व्यवहार के बीच का सिद्धांत सिद्धांत की तुलना में व्यवहार में बहुत बड़ा है" - व्यवहार में उच्च संख्या को प्राप्त करने का एक चक्र लगता है। विशिष्ट विन्यास / वास्तुकला / कोड परिवर्तन का प्रस्ताव, बी। इसे तब तक परखें जब तक कि आप एक सीमा नहीं मार देते, c क्या मैं खत्म हो गया? यदि नहीं तो डी। सीमित कारक क्या था, ई। कदम (कुल्ला और दोहराना) पर वापस जाएं।

यहाँ एक बीफ़ बॉक्स (128 जीबी रैम और 40 कोर) पर 2 मिलियन टीसीपी कनेक्शन के साथ एक उदाहरण है जो फीनिक्स http://www.phoenixframework.org/blog/the-road-to-2-million-websocket-connections पर चल रहा है - वे समाप्त हो गए केवल क्लाइंट लोड प्रदान करने के लिए 50 या इतने महत्वपूर्ण सर्वरों की आवश्यकता होती है (उनके शुरुआती छोटे ग्राहक जल्दी पहुंच गए, जैसे "हमारे 4core / 15 जीबी बॉक्स @ 450k क्लाइंट" को अधिकतम किया गया)।

इस बार 10 मिलियन पर जाने का एक और संदर्भ है: http://goroutines.com/10m

यह जावा आधारित और 12 मिलियन कनेक्शन प्रतीत होता है: https://mrotaru.wordpress.com/2013/06/20/12-million-concurrent-connections-with-migratorydata-websocket-server/


महान नए लिंक, प्रश्न की सही समझ के साथ। मुझे हिट-बैरियर के लिए सामान्य सलाह पसंद है -> बैरियर को ठीक करें। हर किसी की एक अलग विशिष्ट स्थिति होती है, लेकिन कम से कम उनके पास यहां एक संकेत होता है कि आर्थिक / व्यावहारिक रूप से क्या हासिल है। किसी को भी जल्द ही किसी भी समय प्रति ग्राहक 100 मिलियन का वादा नहीं करना चाहिए।
टोड

5

ध्यान दें कि HTTP आमतौर पर क्लाइंट से पेज को प्रसारित करने में लगने वाले टीसीपी कनेक्शन को अधिक समय तक खुला नहीं रखता है; और आमतौर पर उपयोगकर्ता को वेब पेज पढ़ने में अधिक समय लगता है, पेज डाउनलोड करने में जितना समय लगता है ... उपयोगकर्ता द्वारा पेज को देखने के दौरान, वह सर्वर पर कोई लोड नहीं जोड़ता है।

इसलिए आपकी वेब साइट को एक साथ देखने वाले लोगों की संख्या टीसीपी कनेक्शनों की संख्या की तुलना में बहुत बड़ी हो सकती है जो एक साथ सेवा कर सकते हैं।


12
इस सवाल का जवाब बिल्कुल नहीं है। आपने जो भी कहा है, उसकी सटीकता के बावजूद, एक निश्चित समय में कई समवर्ती टीसीपी कनेक्शन की संख्या होगी, जो अधिकतम है? यह प्रश्न का सार है।
टॉड

3
यदि आपके पास योगदान करने के लिए कुछ सार्थक है, तो टोड, हर तरह से आगे बढ़ें और ऐसा करें।
जेरेमी फ्रेज़र

8
मेरे पास पहले से ही 28 मार्च को एक उत्तर था, आप इसे याद कर रहे होंगे। लंबे समय के मतदान और वेब-सॉकेट कनेक्शन के साथ एकल पृष्ठ अनुप्रयोगों की आधुनिक दुनिया में, HTTP हमेशा छोटा नहीं होता है। लेकिन अगर यह छोटा है तब भी समवर्ती कनेक्शन की अधिकतम संख्या है। प्रश्न को स्पष्ट करने का प्रयास करना आईएमओ आईएमओ नहीं है। यह उत्तर बेहतर होगा कि इस प्रश्न पर टिप्पणी के रूप में, यह निश्चित रूप से उपयोगी है, लेकिन प्रश्न "सॉकेट कनेक्शन" से संबंधित है, न कि "लोग"। यदि वांछित हो तो अनुपात (उपयोगकर्ताओं: सक्रिय कनेक्शन) पर एक अलग प्रश्न होना चाहिए।
टोड

1
एचटीटीपी को चालू रखें टीसीपी कनेक्शन पिछली सहस्राब्दी से ब्राउज़रों द्वारा आसपास और अनुरोध किया गया है - यह सर्वर पर निर्भर है कि क्या यह कनेक्शन को जीवित रहने की अनुमति देता है और निष्क्रिय समय-आउट अवधि क्या होगी। एल्विंग कीप अलाइव अनुरोधों के एक समूह (जैसे एक html पृष्ठ और इसकी संबंधित संपत्ति) की विलंबता को कम करता है, लेकिन सर्वर पर संसाधन उपयोग को बढ़ाता है।
इग्गी

1

IPv4 प्रोटोकॉल के मामले में, एक आईपी पते वाला सर्वर, जो केवल एक पोर्ट पर सुनता है, 2 ^ 32 IP एड्रेस x 2 ^ 16 पोर्ट्स को संभाल सकता है, इसलिए 2 ^ 48 यूनिक सॉकेट। यदि आप एक भौतिक मशीन के रूप में एक सर्वर के बारे में बोलते हैं, और आप सभी 2 ^ 16 पोर्ट का उपयोग करने में सक्षम हैं, तो एक आईपी पते के लिए अधिकतम 2 ^ 48 x 2 ^ 16 = 2 ^ 64 अद्वितीय टीसीपी / आईपी सॉकेट हो सकते हैं। कृपया ध्यान दें कि कुछ पोर्ट ओएस के लिए आरक्षित हैं, इसलिए यह संख्या कम होगी। सारांश में:

1 आईपी और 1 पोर्ट -> 2 ^ 48 सॉकेट

1 आईपी और सभी पोर्ट -> 2 ^ 64 सॉकेट

ब्रह्मांड में सभी अद्वितीय IPv4 सॉकेट -> 2 ^ 96 सॉकेट


0

यहां दो अलग-अलग चर्चाएं हैं: एक यह है कि कितने लोग आपके सर्वर से जुड़ सकते हैं। यह एक दूसरों द्वारा पर्याप्त रूप से उत्तर दिया गया है, इसलिए मैं इसमें नहीं जाऊंगा।

अन्य कितने पोर्ट पर आपका सर्वर सुन सकता है? मेरा मानना ​​है कि यह 64K नंबर कहां से आया है। दरअसल, टीसीपी प्रोटोकॉल पोर्ट के लिए 16-बिट आइडेंटिफायर का उपयोग करता है, जो 65536 (64K से थोड़ा अधिक) में अनुवाद करता है। इसका मतलब है कि आपके पास प्रति आईपी पते पर सर्वर पर कई अलग-अलग "श्रोताओं" हो सकते हैं।


आपके लाभ के लिए मैंने आपकी गलत धारणा को संबोधित करते हुए मेरे उत्तर में एक अतिरिक्त खंड जोड़ा है। इसके अलावा यह प्रश्न "सॉकेट कनेक्शन" से संबंधित है, न कि "लोग", जो इस प्रश्न के संदर्भ में एक महत्वपूर्ण अंतर है।
टॉड

यदि हम एक एकल सर्वर मशीन और एक एकल राउटर के बारे में बात कर रहे हैं, तो मुझे लगता है कि यह उत्तर सही है। लेकिन @Todd सर्वर मशीनों के एक फार्म के बारे में ले रहा है, जिसे उपयोगकर्ता लोड बैलेंसर के माध्यम से बेतरतीब ढंग से उनमें से किसी से भी कनेक्ट कर सकता है।
अमृत

@ याम गलत है। मेरा जवाब एक मशीन के बारे में है। "वेबफार्म?" अनुभाग इसके विपरीत जाने की सलाह और सलाह के लिए है और यह निष्कर्ष निकालता है कि लोड आर्किटेक्चर अच्छी वास्तुकला के साथ आवश्यक नहीं हैं। आपने अभी तक मेरे उत्तर को पूरी तरह से नहीं पढ़ा है।
टोड

0

मुझे लगता है कि समवर्ती सॉकेट कनेक्शन की संख्या एक वेब सर्वर काफी हद तक संभाल सकता है जो प्रत्येक कनेक्शन की खपत की मात्रा और किसी अन्य वेब सर्वर संसाधन को सीमित करने वाले सर्वर पर उपलब्ध कुल संसाधन की मात्रा पर निर्भर करता है।

वर्णन करने के लिए, यदि प्रत्येक सॉकेट कनेक्शन में 1MB सर्वर संसाधन की खपत होती है और सर्वर में 16GB RAM उपलब्ध है (सैद्धांतिक रूप से) इसका मतलब है कि यह केवल (16GB / 1MB) समवर्ती कनेक्शन को संभालने में सक्षम होगा। मुझे लगता है कि यह उतना ही सरल है ... वास्तव में!

इसलिए वेब सर्वर कनेक्शन को कैसे संभालता है, इसकी परवाह किए बिना हर कनेक्शन अंततः कुछ संसाधन का उपभोग करेगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.