2011-09-22 14 views
6

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

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

बहुत बहुत धन्यवाद!

उत्तर

4

यहाँ बड़ा सवाल है जहाँ आप अपने आवेदन की तैनाती कर रहे हैं:

मैं एक linode उदाहरण पर मेरा कुछ की मेजबानी का उपयोग कर nginx/गेंडा। यह काफी अधिक काम है लेकिन मुझे यह पसंद है। मैं लोड परीक्षण को परेशान नहीं करता लेकिन कभी-कभी मैंने Siege के साथ घर पृष्ठों को कठोर मारा (आप होमब्री, brew install siege के साथ इसे स्थापित कर सकते हैं) ताकि मैं जो काम कर रहा हूं उसका अनुभव प्राप्त कर सकूं।

तैनाती के विषय पर, मुझे लगता है कि Heroku से भुगतान होस्टिंग प्राप्त करना स्थिरता के बारे में आपकी कुछ चिंताओं को बढ़ाएगा, जिससे आपके लोड सेटिंग्स को बड़े भार से बचने के लिए अपग्रेड किया जाएगा।

क्या आप हमें अपने होस्टिंग विकल्पों पर अधिक जानकारी दे सकते हैं?

+0

हाय धन्यवाद के माध्यम से Heroku द्वारा समर्थित है। मैं उसकेोकू का उपयोग कर होस्ट कर रहा हूं लेकिन मुझे यकीन नहीं है कि मध्यम ट्रैफिक को संभालने के लिए मुझे किस प्रकार का सेटअप चाहिए? –

1

"भार किस प्रकार एक xxxx आवेदन संभाल कर सकते हैं"

आप सही हैं। इसका उत्तर देने के लिए, हम परीक्षण करते हैं!

परीक्षण के बिना, हम केवल हमारे रूबी एप्लिकेशन के रूप में व्यापक रूप से कुछ नहीं कह सकते हैं, जो उसके डॉक्यू से 2 डिनो पर चल रहा है, 100 अनुरोध/सेक, या 100 समवर्ती उपयोगकर्ताओं को संभाल सकता है। हमें परीक्षण करने की जरूरत है। स्केलिंग भी एक मुश्किल व्यवसाय हो सकता है। परीक्षण के बिना, हम नहीं जानते कि कौन से घटक अच्छी तरह से स्केल करते हैं, और कौन सा नहीं होगा।

आरंभ करने के लिए, हमारे पास हमारे आवेदन, परीक्षण के तहत सिस्टम है। हम पहले से ही हेरोकू पर चल रहे हैं, जो हमें पर तुरंत पहुंच प्रदान करता है। हम यह देखने के लिए नई जानकारी के मुक्त संस्करण को चालू करने का प्रयास कर सकते हैं कि यह हमें कौन सी जानकारी देता है। एक वेतन संस्करण है जिसे हम अपने 'ट्यूनिंग सत्र' के दौरान भी कोशिश कर सकते हैं यदि हमें आगे बढ़ने की आवश्यकता है।

फिर हम केवल 'ड्राइवर' गायब हैं, प्रक्रिया जो सबसे आम प्रक्रिया प्रवाह (छवियों को अपलोड करने, छवियों को ब्राउज़ करने, लॉग इन करने आदि) का उपयोग करके एप्लिकेशन के खिलाफ लोड ड्राइव करेगा।

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

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

हम लोड ड्राइव करने के लिए वॉटर या सेलेनियम, या यहां तक ​​कि भरोसेमंद wget, या कर्ल जैसे कार्यात्मक परीक्षण उपकरण का उपयोग करके रचनात्मक भी हो सकते हैं।

हम लोड लैपटॉप के रूप में हमारे लैपटॉप (या) अमेज़ॅन ईसी 2 का उपयोग कर सकते हैं, जो हमारी स्क्रिप्ट चलाकर साइट पर उपयोगकर्ता यातायात उत्पन्न करेगा।

यह सब कुछ उतना कठिन नहीं होना चाहिए, हालांकि आम तौर पर यह परीक्षण करने के लिए सावधान नहीं है कि हम सही प्रवाह का परीक्षण कर रहे हैं और शायद हमारे आवेदन को मापने के लिए महत्वपूर्ण हैं। माप के बिना, हम नहीं जानते होंगे कि कोड या कॉन्फ़िगरेशन में बदलाव, चीजों को बेहतर या बदतर बनाते हैं।

अस्वीकरण: मेरे पास कभी भी रेल अनुप्रयोग का उत्पादन नहीं हुआ है, लेकिन अगर मैंने किया, तो मैं इसकी निगरानी करने के लिए नई अवशेष का उपयोग करूंगा। कम से कम शुरू करने के लिए, खासकर जब से हम पहले से ही Heroku पर हैं।

1

मैं अभी तक इसे करने की कोशिश नहीं की है, लेकिन मैं के बारे में सुना:

http://blitz.io/

अच्छा लग रहा है और मदद के लिए ऐड-ऑन

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