मैं ईवेंटलेट श्रमिकों के साथ बंदूकधारी का उपयोग करके हेरोोकू पर एक फ्लास्क ऐप चला रहा हूं। मेरे ऐप पर एक विशेष मार्ग अक्सर 500 केबी के क्रम में - कुछ काफी चंकी क्षेत्रों के साथ पोस्ट डेटा (एक्स-www-form-urlencoded) प्राप्त करता है।हेरोकू पर फ्लास्क: request.form बड़े पोस्ट डेटा के साथ अविश्वसनीय रूप से धीमा है?
यह ठीक काम करता है जब स्थानीय स्तर पर चल रहा है, लेकिन Heroku पर, अनुरोध करता है कि मार्ग 5 से 30 सेकंड से कहीं भी ले जाता है पूरा करने के लिए - और समय की लगभग 100% Request.Form तक पहली पहुँच में खर्च किया जाता है:
t = time.time()
action = str(request.form['action'])
dt = time.time() - t # Often 10 seconds or more!
यह न्यूरेलिक धीमी अनुरोध ट्रेसिंग द्वारा भी पुष्टि की गई है। डाटाबेस ऑपरेशंस के लिए यहां या वहां कुछ मिलीसेकंड हैं, और उसके बाद पाइथन कोड में समय का एक बड़ा हिस्सा स्पष्ट रूप से कुछ I/o पर इंतजार कर रहा है, क्योंकि रिपोर्ट किए गए CPU समय आमतौर पर मिलीसेकंड से कम होते हैं।
मैं उत्पादन में उपयोग कर रहे एक ही बंदूकधारी/ईवेंटलेट सेटअप का उपयोग कर स्थानीय वातावरण में इसे पुन: पेश करने में पूरी तरह असमर्थ हूं। इन अनुरोधों पर भी अंतर्निहित डीबग डब्लूएसजीआई सर्वर बिजली-तेज है।
क्या किसी को पता है कि क्या गलत हो रहा है? क्या यह फ्लास्क के साथ एक समस्या है, या कुछ है जिसके बारे में मुझे हेरोोकू समर्थन से संपर्क करने की आवश्यकता है?
क्या आपने ऐप को डॉटक्लाउड के मुफ्त सैंडबॉक्स पर डालने का प्रयास किया है? मैंने हाल ही में इसे एक छोटे से फ्लास्क ऐप के लिए इस्तेमाल किया, और यह आसान था। हो सकता है कि आप अपने ऐप का परीक्षण करें या कहीं ऐसा देखें कि क्या आप हेरोोकू या फ्लास्क या अपने ऐप के साथ समस्या को अलग कर सकते हैं? –
मैं दूसरा @ एलन एंडरसन - किसी अन्य विक्रेता पर एक समान सेटअप का प्रयास करें - यदि यह उसी तरह टूट जाता है तो क्या आप कुछ उदाहरण डेटा प्रदान कर सकते हैं जो इस मुद्दे का कारण बनता है? –
* "और लगभग 100% समय request.form की पहली पहुंच में बिताया जाता है" * क्या यह संभव है कि आप dyno idling के प्रभाव का अनुभव कर रहे हों? https://devcenter.heroku.com/articles/dynos#dyno-idling – Dominic