पर असंगत H12 टाइमआउट्स को कैसे प्रोफ़ाइल करें मेरे उपयोगकर्ता हरोकू पर कभी-कभी अनुरोध टाइमआउट देख रहे हैं। दुर्भाग्य से मैं उन्हें लगातार पुन: पेश नहीं कर सकता जो उन्हें डीबग करने में वाकई मुश्किल बनाता है। प्रदर्शन में सुधार करने के लिए बहुत सारे अवसर हैं - उदा। प्रति अनुरोध डेटाबेस क्वेरी की बड़ी संख्या को कम करके और अधिक कैशिंग जोड़कर - लेकिन बिना प्रोफाइल के अंधेरे में एक शॉट है।Heroku
हमारे नए अवशेष विश्लेषण के अनुसार, कई अनुरोध सर्वर पर 1 से 5 सेकंड के बीच लेते हैं। मुझे पता है कि यह बहुत धीमा है, लेकिन यह टाइमआउट के लिए 30 सेकंड के करीब कहीं भी नहीं है।
नई अवशेष पर त्रुटि टैब मुझे कई अलग अलग डेटाबेस प्रश्नों जहां टाइमआउट होता है पता चलता है, लेकिन इन विशेष रूप से धीमी गति से प्रश्नों नहीं हैं और यह प्रत्येक दुर्घटना के लिए विभिन्न प्रश्नों हो सकता है। इसके अलावा एक ही यूआरएल के लिए यह कभी-कभी करता है और कभी-कभी डेटाबेस क्वेरी नहीं दिखाता है।
मैं कैसे पता लगा सकता हूं कि इन विशेष मामलों में क्या हो रहा है? जैसे मैं कैसे देख सकता हूं कि टाइमआउट होने पर डेटाबेस में कितना समय व्यतीत हो रहा था, जब कोई त्रुटि नहीं होने पर डेटाबेस में खर्च होने के समय के विपरीत?
मेरे पास एक परिकल्पना यह है कि डेटाबेस कुछ मामलों में बंद हो जाता है; शायद पढ़ने और लिखने का एक संयोजन।
क्या आपने लॉग देखा है?अगली बार जब समस्या होती है, तो तुरंत अपने कमांड प्रॉम्प्ट पर जाएं और 'heroku लॉग' दर्ज करें। त्रुटि से लॉग पोस्ट करने से हमें समस्या हल करने में मदद मिलेगी। –
@BrianPetro मेरे पास लॉग हैं, लेकिन वे प्रत्येक मामले के लिए अलग हैं - यहां तक कि एक ही पृष्ठ पर - क्योंकि यह हर समय एक अलग जगह को समाप्त करता है। यही कारण है कि मैं इसे डीबग करने के लिए एक और सामान्य तरीका देख रहा हूं। –
आपको कुछ लॉग या सबसे प्रासंगिक कोड के साथ पोस्ट करने का अद्यतन करें। अन्यथा मुझे डर है कि मैं बहुत मदद नहीं कर सकता। –