पर उच्च प्रदर्शन प्रभाव VS2013 से VS2015 तक अपग्रेड करने के बाद, मुझे आश्चर्य हुआ कि मेरा वेब एप्लिकेशन डीबगर संलग्न के साथ कितना धीमा है। इसलिए मैं MiniProfiler का उपयोग कर एक विशेष रूप से धीमी गति से पेज का विश्लेषण करने के VS2013 और VS2015 के बीच तुलना करने के लिए फैसला किया:विजुअल स्टूडियो 2015 डीबगर - एसक्यूएल कॉमांड
दिलचस्प है, जब VS2013 का उपयोग कर डीबगिंग, तेजी से तो आईआईएस आईआईएस एक्सप्रेस के नीचे पृष्ठ लोड। लेकिन जब वीएस2015 में डीबगिंग करते हैं, तो आईआईएस एक्सप्रेस आईआईएस एक्सप्रेस धीमा है।
इसके अलावा, मिनीप्रोफाइलर यह इंगित कर रहा है कि एसक्यूएल से संबंधित कोड में समय का उच्च अनुपात उपयोग किया जाता है। इसलिए मैं आईआईएस पर प्रोफ़ाइल पृष्ठ पर dotTrace उपयोग करने की कोशिश - के साथ एक बार VS2015 डिबगर संलग्न, और एक बार बिना यह संलग्न:
ऐसा लगता है कि जब VS2015, सीपीयू समय की एक बहुत उच्च प्रतिशत में डीबगिंग (वास्तविक समय) SqlCommand.ExecuteReader() पर खर्च किया जाता है जबकि डीबगर संलग्न नहीं होने के साथ, यह विधि बहुत ही कुशल है।
मैंने इसे एक ही कंप्यूटर के साथ एक ही कंप्यूटर पर परीक्षण किया है।
मेरा आवेदन ASP.NET MVC, NHibernate, SQL सर्वर 2014 का उपयोग करता है, और मैं
किसी VS2015 डिबगर के साथ और अनुभव धीमी गति से आवेदन प्रदर्शन संलग्न है, खासकर जब SQL कमांड चल आईआईएस 10
उपयोग कर रहा हूँ? कोई विचार क्या मूल कारण है और इसे कैसे हल करें?
यदि आप फ़ंक्शन कॉल ट्रैकिंग के साथ प्रोफ़ाइल करते हैं, तो क्या कॉल समान है? प्रोफाइलर में कॉल स्टैक्स थोड़ा अलग दिखते हैं (डिबगिंग में एक्ज़िक्यूटफिनिश और एडएल है जहां डीबगिंग नहीं है)। मैं सोच रहा हूं कि क्या एनएच कुछ कारणों से अधिक या अलग चीजें कर रहा है? –
मैं 2015 में डायग्नोस्टिक्स शर्त लगाता हूं, जिसमें इवेंट रिकॉर्डर (जो शायद एसक्यूएल स्टेटमेंट्स से भरा हुआ है, मैं डरता हूं) शायद आपको नीचे दबा रहा है। http://i.stack.imgur.com/QWV4V.png जाओ repro जाओ और इसे जांचें। देखें कि क्या आप इसे अक्षम कर सकते हैं, और इससे आपको क्या लाभ लाभ मिलता है। – Will
@ अभी तक डायग्नोस्टिक्स को अक्षम करने का प्रयास किया जाएगा, और इससे कोई फर्क नहीं पड़ता। – jonh