2010-04-19 19 views
6

मैं बेंचमार्किंग उद्देश्यों के लिए एक आवेदन विकसित कर रहा हूं, जिसके लिए मुझे थोड़े समय में बड़ी संख्या में http कनेक्शन बनाने की आवश्यकता है, मैंने यह परीक्षण करने के लिए जावा में एक प्रोग्राम बनाया है कि कितने धागे जावा सक्षम हैं बनाने के लिए, यह मेरी 2 जीबी एकल कोर मशीन में निकलता है, सीमा 5000 और 6000 के बीच परिवर्तनीय है जिसमें 1 जीबी मेमोरी जेवीएम को दी जाती है जिसके बाद यह ढेर सीमा तक पहुंचने के साथ बाहर निकलता है।कितना समवर्ती http अनुरोध संभाल सकता है

यह सुझाव दिया जाता है कि एरलांग अधिक समवर्ती प्रक्रियाएं उत्पन्न करने में सक्षम होगा, अगर मैं समस्या को हल करने में सक्षम हूं, तो मैं एरलांग सीखने के इच्छुक हूं, लगभग 100000 प्रक्रियाओं को उत्पन्न करने में सक्षम हो सकता है जो अनिवार्य रूप से http अनुरोध प्रतीक्षा कर रहे हैं प्रतिक्रियाओं के लिए, मेमोरी त्रुटि इत्यादि जैसी किसी भी सीमा तक पहुंचने के बिना कुछ सेकंड के मामले में,

+0

एरलांग फोन स्विच के लिए डिज़ाइन किया गया था, जहां सैकड़ों हजार "उपयोगकर्ता एजेंट" (यानी प्रक्रियाएं) एक साथ चल सकती हैं। –

उत्तर

3

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

1

यह आपके द्वारा फेंकने वाले बहुत कुछ को संभाल सकता है। Erlang प्रक्रियाओं बहुत हल्के वजन हैं।

http://www.sics.se/~joe/apachevsyaws.html को यॉ और अपाचे के बीच समेकन में बेंचमार्क के लिए देखें। यह आपको एक अच्छा विचार देता है कि क्या संभव है।

+0

यदि आप बस पर्याप्त फेंक देते हैं तो कुछ भी "आप जो भी फेंकते हैं" को संभाल नहीं सकते हैं। हालांकि अच्छा लिंक। –

1

मैंने सोचा था कि इस के लिए एक दिलचस्प बात यह है कि एक आदमी mochiweb साथ एक लाख धूमकेतु कनेक्शन प्राप्त करने में सक्षम था और अधिक सी के साथ हैकिंग करना है http://www.metabrew.com/article/a-million-user-comet-application-with-mochiweb-part-1

1

जैसा कि पहले कहा, एक बहुत है एक अच्छा जवाब और आपकी आवश्यकता भी सुनामी क्लाइंट लिखना है, आप कई erlang नोड्स पर कोड वितरित/वितरित कर सकते हैं।

इससे भी बेहतर, आप Tsung देख सकते हैं। यह erlang में लिखा एक वितरित लोड परीक्षण आवेदन है।

और यदि आप इसका उपयोग नहीं करना चाहते हैं, तो मुझे पूरा यकीन है कि वहां कोड है जिसे आप वहां पढ़ना चाहते हैं।

संबंधित मुद्दे