2011-01-27 14 views
5

मैं रेलों में प्रदर्शन की निगरानी/परीक्षण करने के लिए उपकरणों की तलाश में हूं, और मुझे विशेष रूप से प्रभावी कुछ भी ढूंढने में बहुत भाग्य नहीं है। मैंने रेल की प्रदर्शन 'मार्गदर्शिका पढ़ी है, लेकिन मैं रेक के बजाय आरएसपीसी का उपयोग करता हूं: टेस्ट, इसलिए मैं विशेष रूप से रेक का उपयोग करने के लिए उत्सुक नहीं हूं: परीक्षण ढांचे।प्रदर्शन बेंचमार्किंग के लिए रेल रत्न/उपकरण?

तो, लोगों को प्रदर्शन के परीक्षण के लिए रेल में अलग रेक से प्रयोग करते हैं: परीक्षण benchmarker? कोई सुझाव की सराहना की

उत्तर

10

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

लाइव रेल अनुप्रयोगों के प्रदर्शन की निगरानी के लिए, New Relic सबसे अच्छा उपकरणों में से एक वहाँ बाहर * है। नि: शुल्क योजना थोड़ी सीमित है क्योंकि यह केवल 30 मिनट का ऐतिहासिक डेटा प्रदान करती है, लेकिन जो जानकारी एकत्र करती है वह अमूल्य है। हेरोकू और इंजन यार्ड जैसे क्लाउड होस्ट्स में से कुछ मुफ्त कांस्य योजना उन्नयन की पेशकश कर रहे हैं, जो एक हफ्ते का डेटा स्टोर करता है। एक बार आपके आवेदन के बारे में जानकारी मिलने के बाद, आप अपने समय पर ध्यान केंद्रित करने के बारे में शिक्षित निर्णय ले सकते हैं।

* मेरी राय

+0

* सिर हिलाते हैं * ठोस सलाह, खुश होती है। – PlankTon

1

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

उदाहरण के लिए, request-log-analyzer की तरह एक उपकरण का उपयोग कर उत्पादन लॉग का विश्लेषण वास्तविक प्रदर्शन बाधाओं की पहचान के लिए एक शानदार तरीका है। Bullet एक और बेहतरीन टूल है जिसे आप अपने विकास कॉल में अपने डेटाबेस कॉल में प्रदर्शन अक्षमता की पहचान करने के लिए चला सकते हैं। निम्न स्तर के बेंचमार्किंग के लिए, रेल आपको मॉडल, नियंत्रकों और विचारों में benchmark helper methods भी प्रदान करता है। यदि आप अपने आवेदन के कुछ विशिष्ट भाग को ट्यून करने पर ध्यान केंद्रित कर रहे हैं तो यह आसान हो सकता है।

यह भी ध्यान देने योग्य है कि rspec बेंचमार्किंग प्रदर्शन (तिथि) के लिए सबसे अच्छा टूल नहीं है। मेरी राय में, it should_take_less_than 50 जैसी चीजों पर जोर देने की कोशिश कर प्रदर्शन परीक्षण के विचार को खींच रहा है और इसे बीडीडी की अवधारणा में मजबूर करने की कोशिश कर रहा है। निष्पादन पूर्ण उम्मीदों के बारे में अक्सर कम होता है और आपके ऐप के सबसे धीमे हिस्सों की पहचान करने और उन्हें तेज़ी से बनाने के बारे में अधिक होता है।

इस विषय पर कई ऑनलाइन संसाधन हैं। मैं इन Railscasts पाया है एक महान शुरुआती बिंदु होने के लिए:

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