Azure App Service में 100% CPU उपयोग के कारण की पहचान कैसे करें?


12

मेरे पास एक एज़्योर ऐप सर्विस प्लान में पांच ऐप हैं, विभिन्न क्लाइंट्स के लिए एक ही ऐप की सभी अलग-अलग प्रतियां हैं। यह SQL डेटाबेस के साथ ASP.NET MVC ऐप है।

आज सुबह मैं धीमी और गैर-संवेदनशील साइटों के लिए जाग गया, कभी-कभी 503 त्रुटि हुई। ऐप सेवा योजना के लिए सीपीयू / मेमोरी मेट्रिक्स की जांच करने पर मुझे पता चला कि सीपीयू 100% आंकी गई है:

100% पर CPU

और अलग-अलग साइटों के सीपीयू समय का ग्राफ उन सभी को एक ही समय में बंद दिखाता है, हालांकि कुछ दूसरों की तुलना में बदतर हैं:

व्यक्तिगत साइट्स CPU उपयोग

मैंने एक उन्नत एप्लिकेशन रिस्टार्ट कर समस्या को हल करने की कोशिश की, लेकिन ब्लेड लोड नहीं होगा - मुझे लगता है क्योंकि यह सर्वर से जानकारी प्राप्त करने की कोशिश कर रहा था जो प्रतिक्रिया नहीं दे सकता था।

अंत में मैंने एक-एक करके सभी साइटों को रोकने की कोशिश की, जिसने सीपीयू को फिर से शून्य पर ला दिया, फिर उन्हें फिर से शुरू कर दिया, जो ऐसा लगता था कि इस मुद्दे को हल कर दिया गया था, लेकिन अब उनमें से कुछ वापस ऊपर चढ़ना शुरू कर रहे हैं।

मैंने कुछ हफ़्ते पहले इसी तरह की समस्या का अनुभव किया था और माना कि मैं अपने ऐप प्लान के लिए बहुत बड़ा हो रहा था, इसलिए S1 से S2 में अपग्रेड किया गया और यह आज तक ठीक था।

मैं कुल नुकसान पर हूं कि कैसे यह पता लगाया जाए कि इस सीपीयू के भूखे व्यवहार का कारण क्या है। क्या कोई मुझे सही दिशा में इंगित कर सकता है कि मैं इसका निदान कैसे शुरू कर सकता हूं?


ऐसा लगता है कि Azure ऐप सेवा की योजना थोड़ी सी है, क्या आपने MS से संपर्क किया है? - जब तक आपने कोई बदलाव नहीं किया है, मैं उन्हें बताना चाहूंगा कि प्लेटफॉर्म में कोई समस्या है।
Sum1sAdmin

मेरे पास उनके साथ एक सहायता योजना नहीं है, इसलिए ऐसा मत सोचो कि उन्हें बताने का कोई तरीका है। यह एक चिंता का विषय है अगर मैं बस बेतरतीब ढंग से 100% सीपीयू मुद्दों का अनुभव करने जा रहा हूं - किसी अन्य आपूर्तिकर्ता को देखना पड़ सकता है। क्या दो उदाहरणों से आपको लगता है कि मदद मिलेगी?
थोड़ाचरवा

मैं तकनीकी जैसे खुले मंचों का उपयोग करूंगा - यदि यह महत्वपूर्ण है तो आप इसे बढ़ा सकते हैं, लेकिन मैं कुछ के लिए अधिक भुगतान नहीं करूंगा जो उन्हें ठीक करने की आवश्यकता है, यदि यह मामला है।
Sum1sAdmin

जवाबों:


6

हमारे पास यह मुद्दा कुछ समय का है और हर बार इसे जीसी (कचरा संग्रह) से दूर किया जाता है। यह साबित करना और निदान करना कठिन है, लेकिन मैं जो कुछ भी कर रहा हूं वह कुडो (scm) साइट का उपयोग कर रहा है, उपकरण => समर्थन पर क्लिक करके (जो आपको ऐप्स के लिए समर्थन साइट पर ले जाता है।

यहां से आप अपनी निर्देशिका (आपके पास कई हैं) को लाइक करें और साइट, एनालाइज => डायग्नोसिस बटन पर क्लिक करें ( नोट यह नोट पहले ही बदल चुका है इसलिए ये चरण किसी भी समय बदल सकते हैं), फिर एनालाइज => डायनोटिक्स पर वापस जाएं, आप अंत में मेमोरी डंप => "विश्लेषण स्थिति" रिपोर्ट प्राप्त होगी। यह एक mht फ़ाइल (जिसे आप घृणास्पद ब्राउज़र IE या एज में खोल सकते हैं) होनी चाहिए, फिर कुंजी "gc" की खोज करें।

आपको "GCFrame" या "System.Threading.WaitHandle.WaitMultiple" जैसे कई दिलचस्प कॉल के संदर्भ में कुछ दिलचस्प कॉल स्टैक फ़्रेम मिलेंगे, अगर आपको इनमें से बहुत सारे मिलते हैं, तो आप सिस्टम हो सकते हैं कचरा संग्रहण के मुद्दे ।

इसे कैसे हल किया जाए ... यह एक विषय है जो कई अन्य थ्रेड्स में कवर किया गया है क्योंकि यह पूछने की तरह है कि "मैं अभी भी उपयोग में आईई के साथ एक दुनिया में कैसे रहता हूं?" ...


1
यह स्थानांतरित हो गया है। यह अब "डायग्नोस एंड सॉल्यूशन प्रॉब्लम्स-> डायग्नोस्टिक टूल्स-> कलेक्ट मेमोरी डंप"
जोश नू

3

आपका सर्वश्रेष्ठ दांव इस विशेष ऐप के लिए नया अवशेष या अनुप्रयोग अंतर्दृष्टि स्थापित करना होगा। इसे ऐप सेवा -> उपकरण -> प्रदर्शन निगरानी के माध्यम से आसानी से स्थापित किया जा सकता है। यह आपको सर्वर और क्लाइंट पक्ष दोनों में क्या हो रहा है, का एक विस्तृत दृश्य देगा।

आवेदन की निगरानी

लेख: मॉनिटर एज़्योर वेब ऐप प्रदर्शन

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.