2009-05-05 15 views
13

मैं DreamHost पर एक रूबी ऑन रेल्स 2.0.2 आवेदन की मेजबानी कर रहा हूँ के साथ दुर्घटनाओं। यह एक अपाचे 2 सर्वर पर है, जो फ़्यूज़न पैसेंजर के शीर्ष पर चल रहा है।रेल एप्लिकेशन बेतरतीब ढंग से त्रुटि "स्क्रिप्ट हेडर के समय से पहले अंत"

आवेदन अक्सर वापस आने वाले 500 त्रुटि "रेल आवेदन ठीक से प्रारंभ करने में विफल", लेकिन यादृच्छिक समय पर। ऐसा प्रतीत होता है जब एप्लिकेशन उच्च लोड के अधीन होता है, हालांकि मैं इसकी पुष्टि नहीं कर सकता। यह केवल प्रति दिन लगभग 2,000 पृष्ठदृश्य प्राप्त करता है, इसलिए मुझे नहीं लगता कि लोड वास्तव में एक मुद्दा होना चाहिए।

अपाचे लॉग इन 500 प्रतिक्रियाओं को त्रुटि के साथ सहसंबंधित करते हैं: "स्क्रिप्ट हेडर का समयपूर्व अंत"। आज सुबह 9 बजे लॉग को देखकर, त्रुटि एक मिनट में तीन या चार बार दिखाई देती है। यह स्पष्ट रूप से अस्वीकार्य है।

कम बार, एप्लिकेशन एक स्टैक ट्रेस और त्रुटि "टूटी हुई पाइप" के साथ एक फ़्यूज़न यात्री पृष्ठ को फेंक देता है।

रेल लॉग इन त्रुटियों के किसी भी सूची नहीं है।

यह ड्रीमहोस्ट पर होस्ट की गई स्टेजिंग और लाइव साइट दोनों पर होता है, लेकिन मैं इसे स्थानीय विकास सर्वर पर दोहराना नहीं कर सकता।

तो मुझे लगता है कि असली सवाल यह है: मैं इस समस्या को डीबग करने के लिए कहां से शुरू करूं?

उत्तर

9

ऐसा लगता है कि मैं केवल DreamHost साझा सर्वर पर मेरी स्मृति टोपी मार दिया गया था।

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

समाधान: यदि आप इसकी सहायता कर सकते हैं, तो साझा वातावरण में रेल को चलाने की कोशिश न करें। मैं जल्द ही अपने ऐप्स में से कम से कम एक वीपीएस होस्ट पर स्विच करने जा रहा हूं।

+0

हाँ यह मेरे रेल ऐप पर मेरे साथ हो रहा था, ठीक उसी दिन मैंने एक ही सर्वर पर एक PHP एप के खिलाफ कुछ लोड परीक्षण किया था जिसके कारण बहुत सी अपाचे php.cgi प्रक्रियाएं चलने लगीं, इस प्रकार स्मृति को भरना पड़ा। क्या आपको dreamhost पर रेल के लिए स्मृति उपयोग को कम करने के लिए कोई समाधान मिल गया था? Thx – adamJLev

+0

इसके आसपास वास्तव में कोई रास्ता नहीं था। आप शायद साझा किए गए ड्रीमहोस्ट सर्वर पर एक मामूली-लोकप्रिय रेल ऐप होस्ट कर सकते हैं। भले ही, मैंने RailsPlayground के साथ होस्ट किए गए वीपीएस पर स्विच किया। तब से मुझे कोई हिचकी नहीं मिली है। – Schrockwell

+0

यदि आप डीएच पर एक नया उपयोगकर्ता खाता बनाते हैं, तो आपके द्वारा चलाए जाने वाले प्रत्येक रेल ऐप के लिए कहें, क्या प्रत्येक खाते को इसकी "खुद" मेमोरी मिल जाएगी? – miccet

1

क्या आप यात्री का नवीनतम संस्करण (लिखने के समय 2.2.2) चला रहे हैं। मेरे पास कुछ त्रुटियां थीं लेकिन मेरे यात्री स्थापना को अपग्रेड करने के बाद अधिकांश (यदि नहीं सभी) गायब हो गए।

हैं कि इस सवाल का जवाब आप हमेशा 2.3 करने के लिए अपने पटरियों संस्करण को अपग्रेड करें और देखें कि समस्या बनी रहती है करने के लिए कोशिश कर सकते हैं नहीं है।

+0

मैं अब ड्रीमहोस्ट के साथ जांच कर रहा हूं यह देखने के लिए कि वे किस यात्री का उपयोग कर रहे हैं। रेल को 2.3 तक अपग्रेड करना अगला कदम हो सकता है, हालांकि मैं पीछे की असंगतताओं को ठीक करने की उम्मीद नहीं कर रहा हूं। – Schrockwell