2009-01-14 15 views
6

मुझे अपने स्टेजिंग सर्वर पर बहुत धीमी गति से मेरे रेल ऐप के साथ कुछ परेशानी हो रही है। सबसे भ्रमित क्या है कि प्रत्येक अनुरोध के लिए लॉग आउटपुट की अंतिम पंक्ति।मेरा रेल सर्वर समय क्यों प्रस्तुत नहीं करता है?

ऐसा लगता है कि व्यू और डेटाबेस समय पूरे प्रस्तुत समय के करीब भी नहीं हैं। एक पृष्ठ पर यह पूर्ण होने के लिए ~ 1000ms, व्यू के लिए ~ 450ms और ~ 20ms डेटाबेस के रूप में खराब है।

पृष्ठ को प्रस्तुत करने के लिए शेष समय कहां से आता है?

उत्तर

0

मैं New Relic's RPM service का उपयोग करने की सलाह देता हूं। इसमें एक मुफ्त संस्करण है, लेकिन कांस्य सेवा ($ 40 प्रति माह) अद्भुत है और आगे इन मुद्दों को ट्रैक करने में मदद करता है।

+0

http://www.newrelic.com/ वह URL है जिसे आप – RichH

+0

चाहते हैं, यह प्रश्न का उत्तर नहीं देता है और केवल सेवा को पंप कर रहा है - यह सबसे अच्छा जवाब या उत्तर कैसे है? – eyberg

+0

यह पता लगाने में मदद कर सकता है कि उसके कार्य धीमे क्यों हैं, जो उनका असली प्रश्न है। किसी भी तरह से, 18 महीने की टिप्पणी पर टिप्पणी करने का तरीका: | –

2

जब चीजें रहस्यमय होती हैं .... प्रोफाइलर्स आपका मित्र हैं!

एक प्रोफाइलर आंकड़े तैयार करेगा कि किस विधि को सबसे अधिक कहा जा रहा है और प्रत्येक विधि कॉल में कितना समय व्यतीत किया जा रहा है।

ruby-prof रूबी लैंड में होने पर मेरे लिए चाल है, और यह एक अच्छा कॉल-ग्राफ (एचटीएमएल प्रारूप में अगर आप चाहते हैं) का उत्पादन करेगा, जो यह देखने में आसान और आसान बनाता है कि कौन से तरीके आपके अनुरोध को धीमा कर रहे हैं ।

0

मैं इस प्रश्न को उसी उत्तर के साथ फिर से देखने जा रहा था, इसलिए मैं बस पिगबैक करूंगा। यहां एक दृश्य प्रतिपादन से बहुत छोटा रूबी-प्रोफेसर snippet है। यह आश्चर्यजनक है कि हुड के नीचे कितनी चीजें चल रही हैं।

0

प्रतिपादन और डेटाबेस समय के अलावा, कुछ समय आपके नियंत्रक कोड और रेल ढांचे में बिताया जाता है। यदि आपके स्टेजिंग सर्वर पर बहुत कम संसाधन आवंटित किए जाते हैं तो यह वास्तव में धीमा हो सकता है। आपको यह नहीं करना चाहिए कि लॉग में अवधि हमेशा सही नहीं होती है, खासकर डेटाबेस की अवधि।

0

आपका अपाचे लॉग क्या कहता है? अनुरोध को पूरा करने के लिए आवश्यक समय दिखाने के लिए निश्चित रूप से अलग-अलग संख्याएं होंगी।

अपाचे रेल और रेल के लिए अनुरोध भेजता है और यही वह है जो आप अपने उत्पादन लॉग में देखते हैं।

सभी एचटीएमएल अभी भी आपके ब्राउज़र (भारी सीएसएस, छवियों, जेएस आदि) पर प्रस्तुत किया जाना है। UI तत्वों के प्रतिपादन समय को जानने के लिए फ़ायरफ़ॉक्स एक्सटेंशन httpwatch का उपयोग करने का प्रयास करें और इसे जोड़ना चाहिए।

पहले सुझाव दिया है, NewRelic आप विभिन्न गतिविधियों में बिताए गए समय के सभ्य गोलमाल (एम वी सी)

2

देना चाहिए मैंने पाया समय प्रस्तुत करना का एक बड़ा हिस्सा बनाने और सक्रिय रिकॉर्ड वस्तुओं की तैयारी कर रेल पर खर्च किया जा सकता है। पूछताछ के बाद और दृश्य से पहले। उदाहरण के लिए 'खोज' से कितने रिकॉर्ड लौटाए जाते हैं, इस पर निर्भर करता है।

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