पर कभी-कभी धीमे अनुरोध हम हेरोकू पर असंगत प्रदर्शन देख रहे हैं जो हालिया यूनिकॉर्न/बुद्धिमान रूटिंग मुद्दे से असंबंधित है।हरोकू
यह एक अनुरोध का एक उदाहरण है जो आमतौर पर ~ 150ms (और 20 बार में से 1 9 कितना समय लगता है) लेता है। आप देख सकते हैं कि इस अनुरोध पर इसमें लगभग 4 सेकंड लग गए, या परिमाण के 1 और 2 ऑर्डर के बीच।
कुछ बातें ध्यान रखें:
- डेटाबेस टोंटी नहीं था, और यह केवल 25ms खर्च कर डाटाबेस प्रश्नों
- हमारे पास पर्याप्त dynos की तुलना में अधिक है, इसलिए मुझे नहीं पता लगता है कि यह बाधा थी (20 डबल डिनोस प्रत्येक 5 कर्मचारियों के साथ यूनिकॉर्न चला रहे हैं, हमें प्रति मिनट केवल 1000 अनुरोध मिलते हैं, 150 एमएमएस का औसत प्रतिक्रिया समय, जिसका अर्थ है कि हमें सेवा करने में सक्षम होना चाहिए (60/0.150) * 20 * 5 = 40,000 अनुरोध प्रति मिनट। दूसरे शब्दों में जब इस माप के दौरान हमारे पास dynos पर 40x क्षमता थी लिया गया।
तो मुझे आश्चर्य है कि इन कभी-कभी धीमे अनुरोधों का कारण क्या हो सकता है। जैसा कि मैंने उल्लेख किया है, अजीब बात यह है कि यह लगभग 20 में से 1 अनुरोधों में होता है। एकमात्र चीज जो मैं सोच सकता हूं वह है कि बक्से पर शोर पड़ोसी समस्या है, या रूटिंग परत में असंगत प्रदर्शन है। अगर किसी के पास अतिरिक्त जानकारी या विचार हैं तो मैं उत्सुक होगा। धन्यवाद।
यदि यह कोई सांत्वना है, तो मैं भी इसका अनुभव कर रहा हूं और इसके लिए एक एप्लिकेशन विशिष्ट कारण को ट्रैक करने में सक्षम नहीं हूं। शोर पड़ोसी सिद्धांत के लिए एक और डेटा बिंदु? –
क्या आपने हेरोकू के साथ एक समर्थन टिकट की कोशिश की है? –
लंबे समय बाद इसे फिर से संशोधित करना, यहां एक * पागल * सिद्धांत है: यह हैरोकू के "निष्पक्ष सीपीयू शेयर" और वर्चुअलाइजेशन के साथ ऐसा करने के लिए कुछ है। मेरे बिंदु को साबित करने के लिए, आप कोड का एक छोटा टुकड़ा लिख सकते हैं, '/ test' url के लिए हैंडलर कहें। इसमें, कई लाखों की गिनती करें। बस सीपीयू जलाओ। यह * वह * 150 मिमी और कभी-कभी 4sec लेने के समाप्त होता है, तो यह Heroku है। –