2012-05-19 27 views
5

मेरे पास एक कार्यकर्ता भूमिका है जिसमें कई धागे ग्राहकों से कनेक्शन को संभालने के लिए चलाए जाते हैं। लोड परीक्षण के दौरान, हमने देखा है कि भूमिका अनुत्तरदायी हो जाती है, और उस स्थिति में तब तक रहता है जब तक हम इसे पुनरारंभ नहीं करते। दृश्य स्टूडियो डीबगर (सक्रिय प्रक्रिया को रोककर) में इसे देखते हुए, हम कई थ्रेड प्रतीक्षा कर सकते हैं लेकिन जब यह रुक गया है, तो कोई गतिविधि नहीं होती है। मुझे कैसे पता चलेगा कि उस राज्य में भूमिका क्या बन रही है?विंडोज़ एज़ूर रोल उत्तरदायी

उत्तर

6

जैसा कि आपने बताया है कि जब आप भार परीक्षण करते हैं तो समस्या आपके कार्यकर्ता भूमिका के साथ होने लगती है, यह मानना ​​सुरक्षित है कि भूमिका प्रारंभ में ठीक काम कर रही थी। यह निष्कर्ष पर पहुंचाता है कि समस्या अनुप्रयोग विशिष्ट है बल्कि कुछ प्लेटफार्म विशिष्ट है। आप दो तरह से आपके Windows Azure वीएम से कुछ निदान जानकारी प्राप्त कर सकते हैं:

  • विकल्प 1 (पसंदीदा): आदेश क्या अपने Azure वीएम में हो रहा है की जाँच करने के, तुम सच के साथ Windows Azure निदान जोड़ने के लिए की जरूरत है आपकी भूमिका इसलिए आप प्रदर्शन काउंटर, मेमोरी विवरण, रोल प्रोसेस हेल्थ और एज़ूर वीएम से अपने एज़ूर स्टोरेज में स्थानांतरित अन्य डेटा प्राप्त कर सकते हैं, जिसे आप ऑफ़लाइन विश्लेषण कर सकते हैं।

  • विकल्प 2: अपने एज़ूर वीएम में आरडीपी एक्सेस सक्षम करें और फिर अपने एज़ूर वीएम में लॉग इन करें और अपने एज़ूर वीएम में स्थापित, परफमन, प्रोसेस एक्सप्लोरर और अन्य स्वास्थ्य निगरानी उपकरण और क्या हो रहा है इसकी निगरानी करें।

  • विकल्प 3 (अंतिम रिज़ॉर्ट): आरडीपी अपने Azure वी एम को और WinDBG स्थापित करने और मेजबान प्रक्रिया

डिबग ऐसी हालत में आप एक कार्यकर्ता भूमिका काम करना बंद कर दिया है जब, यह क्या मैं वास्तव में सुझाव दे सकता है किसी भी एक के लिए:

  1. सीपीयू के लिए देखो, मेमोरी दबाव, धागे की सूची और पता लगाने के जो सूत्र ब्लॉक किए गए हैं और क्या कारण हो सकता है। मेजबान वर्कर प्रोसेस स्वास्थ्य के लिए
  2. देखो, जब यह पिछली बार शुरू कर दिया है, यह किसी कारण, कितना समय Azure वीएम
  3. में चल रहा है तो आपको एक अलग प्रक्रिया है, जिसमें "के रूप में ProgramEntryPoint" सेट कर दिया जाता है, तो के कारण रीसाइक्लिंग है आपकी कार्यकर्ता की भूमिका, इसके स्वास्थ्य की जांच करें
  4. किसी भी सुराग के लिए सिस्टम सिस्टम पर ईवेंट लॉग की जांच करें। वर्कर भूमिका में मैं नहीं देखता कि एप्लिकेशन इवेंट लॉग में कुछ होगा लेकिन यह देखने के लायक है।
  5. मैं कुछ प्रक्रियाओं की निगरानी करने के लिए प्रक्रिया मॉनीटर का उपयोग करता हूं और यह देखने के लिए लॉग एकत्र करता हूं कि प्रक्रिया कब मरती है, आखिरी स्थिति क्या थी, यह क्या पहुंच रहा था और यह अन्य मुद्दों से भूखा था।

नीचे की रेखा आपको वास्तव में Azure VM में मूल कारण खोदने की आवश्यकता है, जैसा कि आप ऑन-प्रिमाइज़ मशीन में करेंगे।

+0

इसके लिए धन्यवाद, वास्तव में अच्छी युक्तियाँ। सबसे पहले, यह मुद्दा केवल Azure में कार्यकर्ता भूमिका पर प्रस्तुत किया गया था, लेकिन हमारे परीक्षण दोहन के कुछ tweaking के साथ, हम इसे विकास में देखना शुरू कर दिया। हमारे पास है: * रिमोट एक्सेस/एज़ूर डायग्नोस्टिक्स सेट अप * एप विशिष्ट रिपोर्टिंग के लिए सेट किए गए परफ काउंटर और कस्टम इवेंट लॉग ऐसे कई स्थान हैं जहां एसिंक ऑपरेशन किए जा रहे हैं। हम अनुमान लगा रहे हैं कि एक अनचाहे अपवाद होता है, लेकिन यह खोजना मुश्किल साबित होता है। – Irwin

+0

क्या मैंने पूछा कि आप किस एज़ूर एसडीके का उपयोग कर रहे हैं? पुराने एसडीके में रिमोट फॉरवर्डर के साथ कुछ मुद्दे थे जो Azure में यादृच्छिक समस्याएं पैदा कर सकते हैं हालांकि एसडीके 1.6 उस पर बहुत ठोस है।क्या होगा यदि आप अपने ऐप के साथ आरडीपी एक्सेस और एज़ूर डायग्नोस्टिक्स को हटा दें, तो क्या समस्या अभी भी जारी है? – AvkashChauhan