हम तीसरे पक्ष के http कॉल करने के लिए अजवाइन का उपयोग कर रहे हैं। हमारे पास लगभग 100+ कार्य हैं जो केवल तृतीय पक्ष HTTP API कॉल को कॉल करते हैं। कुछ कार्य एपीआई को थोक में कहते हैं, उदाहरण के लिए सुबह सुबह 4 बजे आधे मिलियन अनुरोध, जबकि कुछ एपीआई कॉल की निरंतर स्ट्रीम प्रति सेकंड लगभग एक या दो बार अनुरोध प्राप्त करते हैं।तृतीय पक्ष HTTP कॉल के लिए सेलरी अनुकूलित करना
अधिकांश एपीआई कॉल प्रतिक्रिया समय 500 से 800 एमएस के बीच है।
हम अजवाइन के साथ बहुत धीमी डिलीवरी दरें देख रहे हैं। उपर्युक्त कार्यों में से अधिकांश के लिए, अधिकतम वितरण दर लगभग 100/एस (अधिकतम) लगभग 1/एस (मिनट) तक है। मेरा मानना है कि यह बहुत खराब है और कुछ निश्चित रूप से गलत है, लेकिन मैं यह समझने में सक्षम नहीं हूं कि यह क्या है।
हमने 3 सर्वरों के क्लस्टर के साथ शुरुआत की और वृद्धिशील रूप से इसे 7 सर्वरों का समूह बना दिया, लेकिन इसमें कोई सुधार नहीं हुआ। हमने ऑटोस्केल से तय 10, 20, 50, 100 श्रमिकों के लिए विभिन्न समवर्ती सेटिंग्स के साथ प्रयास किया है। कोई परिणाम बैकएंड नहीं है और हमारा ब्रोकर RabbitMQ है।
चूंकि हमारा कार्य निष्पादन समय बहुत छोटा है, अधिकतर के लिए एक सेकंड से भी कम, हमने विभिन्न मूल्यों के लिए प्रीफेच गिनती असीमित बनाने की भी कोशिश की है।
--time-limit=1800 --maxtasksperchild=1000 -Ofair -c 64 --config=celeryconfig_production
सर्वर 64 जी रैम, Centos 6.6 है।
क्या आप मुझे यह बता सकते हैं कि क्या गलत हो सकता है या इसे हल करने के बारे में पॉइंटर्स क्या हो सकता है?
क्या हमें gevents के साथ जाना चाहिए? हालांकि मुझे यह पता नहीं है कि यह क्या है।
RabbitMQ में आपकी कतार कितनी भरी है? कतार खाली होने पर RabbitMQ सबसे तेज़ है। आप RabbitMQ मशीन के सीपीयू उपयोग की निगरानी कर सकते हैं। यदि आप भारी CPU उपयोग देखते हैं, तो शायद ऐसा इसलिए है क्योंकि खरगोश एमक्यू विशाल कतार आकार के साथ सामना करने के लिए बहुत कुछ कर रहा है। – LearnerEarner
शायद मूर्खतापूर्ण आवाज हो और यकीन है कि आपने इस पर ध्यान दिया है, लेकिन क्या आपने जांच की है कि क्या तृतीय पक्ष सर्वर लोड के तहत अच्छा व्यवहार कर रहा है? क्या यह अभी भी 500-800ms में प्रतिक्रिया दे रहा है जब भी आप इसे कई समवर्ती अनुरोध के साथ दबाते हैं? – LearnerEarner
http://www.rabbitmq.com/blog/2012/05/11/some-queuing-theory-throughput-latency-and-bandwidth/ – LearnerEarner