2013-08-06 7 views
43

हम एक वेब ऐप बना रहे हैं जिसका उपयोग प्रतिद्वंद्वियों को वोट देने और केंद्रीय प्रदर्शन पर रीयल-टाइम वोट आंकड़े प्रदर्शित करने के लिए प्रतियोगिता के दौरान किया जाएगा।Meteor.js में कितने समवर्ती उपयोगकर्ता वेब ऐप बना सकते हैं?

प्रतियोगिता 15 मिनट तक चली जाएगी और लगभग 4000 उपयोगकर्ता में वेब ऐप से कनेक्ट हो जाएंगे जो समय के अंतराल और वोट भेजते हैं, जो हालांकि प्रति उपयोगकर्ता डिवाइस अद्वितीय हैं।

हम Meteor.js का उपयोग करके ऐसे वेब ऐप को विकसित करने के बारे में सोच रहे हैं। हालांकि, समवर्ती उपयोगकर्ताओं और मेटायर.जेएस की बीटा स्थिति के लिए विकासशील सेवाओं में हमारे छोटे अनुभव के कारण, हमें परियोजना की वास्तविक व्यवहार्यता के बारे में कुछ चिंताएं हैं।

  1. वहाँ कितने समवर्ती उपयोगकर्ताओं उल्का संभाल कर सकते हैं पर किसी भी बेंचमार्क है:

    निम्न सवालों हम को संबोधित कर रहे हैं? मुझे लगता है कि यह वेब ऐप की जटिलता पर निर्भर करता है। हमारे मामले में यह सीधे आगे बढ़ेगा, केवल केंद्रीय प्रदर्शन के लिए उपयोग किए जाने वाले क्लाइंट को लाइव मोंगो क्वेरी votes.find({}) की सदस्यता ली जाएगी, शेष उपयोगकर्ता केवल वोट/पहले से ही बटन को वोट देंगे।

वास्तविक मामले या परीक्षण परिदृश्य से कुछ डेटा होने से हमें बहुत मदद मिलेगी।

  1. क्या मीटियर का बुनियादी ढांचा 4000 उपयोगकर्ताओं को संभालने में सक्षम होगा? या क्या हमें इस deleted question में सूचीबद्ध कुछ अन्य होस्टिंग समाधान के लिए जाना चाहिए (आपको इसे देखने के लिए 10k + rep की आवश्यकता है)?

  2. क्या Meteor.js के लिए विशिष्ट प्रदर्शन विचार हैं क्या हमें अवगत होना चाहिए?

हम पहले से ही इसी तरह के पदों को देखा है, लेकिन उनमें से कोई भी इस तरह के एक कम समय में उन की इतनी बड़ी राशि के साथ काम कर रहा था:

इसके अलावा, हम Cluster smart package का उपयोग कर सकते हैं। किसी के पास इसका कोई अनुभव है?

+0

+1 अच्छा सवाल। मेरे पास प्रोग्रामिंग उल्का का बहुत अनुभव है लेकिन लोड के तहत यह कैसे काम करेगा इसके बारे में भी कुछ नहीं जानता है। क्लस्टर स्मार्ट पैकेज मूर्खतापूर्ण IMHO की तरह है और धीरे-धीरे सिंक करता है; यह अवधारणा का सबूत है और मैं अपेक्षा करता हूं कि यह कोर उल्का के रूप में स्थिर न हो। –

+1

इसके अलावा, इस सवाल पूछने से पहले उचित शोध का अच्छा सौदा करने के लिए प्रोप। –

+1

बस चीजों को साफ़ करने के लिए। इस प्रश्न में वर्णित क्लस्टर इतिहास है। अब हमारे पास एक और क्लस्टर पैकेज है: https://github.com/meteorhacks/cluster (यह एक ही उद्देश्य के लिए एक ही उद्देश्य के लिए एक ही तरीके से है) –

उत्तर

4

मुझे लगता है कि ईमानदार जवाब यह है कि हर मामले अलग है, और कोई कठोर और तेज़ नियम नहीं हैं जो लोग आपको विभिन्न भारों के तहत कैसे करेंगे, इस मामले में लोग आपको दे सकते हैं।

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

11

https://github.com/alanning/meteor-load-test

आप जल्दी से एप्लिकेशन नकली हैं, तो यह काफी एक 15 मिनट की अवधि में 4000 कनेक्शन के लिए एक परीक्षण स्थापित करने के लिए आसान होना चाहिए। मैंने इसे व्यक्तिगत रूप से उपयोग नहीं किया है, लेकिन एक बार जब मैं अपने आवेदन को खत्म कर देता हूं तो ऐसा करने की योजना बना रहा हूं।

+0

अच्छा संदर्भ - हालांकि, स्थानीय कनेक्शन पर परीक्षण करें क्योंकि अन्यथा यातायात और उल्का उल्टा नहीं बन जाएगा। –

36

अद्यतन कक्षा क्राफ्ट 6400 समवर्ती उपयोगकर्ताओं को संभालने वाला एक मीटरी सर्वर रिपोर्ट करता है। Scalability section of my Why Meteor article में और पढ़ें।

भी देखें मंच पोस्ट
How Many Simultaneous Users Does the Biggest Current Meteor App Support?


यहाँ एक बेंचमार्क बिल्कुल नहीं समवर्ती उपयोगकर्ताओं के बारे में, बल्कि सदस्यता की स्थापना के बारे (यकीनन एक और अधिक तनावपूर्ण परीक्षण) है।

Arunoda हाल ही में एक परीक्षण meteor-down (एक लोड परीक्षण उपकरण similar to @alanning's meteor-load-test) और Cluster, एक उल्का लोड संतुलन उपकरण का उपयोग कर के परिणाम प्रकाशित किया है।

परीक्षण (512MB RAM, $ 5/माह) सबसे सस्ता डिजिटल महासागर सर्वर पर चलाया गया था, और परिणाम बल्कि प्रभावशाली थे:

enter image description here

सब से ऊपर परिदृश्यों के लिए, सर्वर प्रतिक्रिया समय 8ms से कम है।

अनिवार्य रूप से एक कमोडिटी मशीन 2500 उल्का सदस्यता प्रति मिनट संभाल सकती है और 8 मिलीसेकंड के भीतर प्रतिक्रिया दे सकती है। क्षैतिज स्केलिंग 5% से अधिक ओवरहेड लेता है।

आप Meteor Cluster Performance Test: Impressive Results पर परीक्षण के बारे में अधिक पढ़ सकते हैं।

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