मैं वर्तमान में एक एएसपी.NET अनुप्रयोग का परीक्षण लोड कर रहा हूं। मैं ऐप पर 500 उपयोगकर्ताओं के साथ चार्ज कर रहा हूं, और जब यह चल रहा है, तो मैं एक सर्वर पर एक perfmon.exe कंसोल, "सत्र अधिनियम" और "सत्र समय समाप्त" काउंटर में जांच कर रहा हूं।एएसपी.नेट "सत्र समय समाप्त" काउंटर (perfmon.exe)
मेरी web.config में, सत्र टाइमआउट 3 मिनट (परीक्षण के प्रयोजन के लिए) है।
तो परीक्षण के रूप में, "सत्र अधिनियम" काउंटर लगभग 900 सक्रिय सत्रों पर रहता है, जो मुझे लगता है कि 500 सक्रिय उपयोगकर्ताओं और लगभग 400 अन्य लोगों के सत्र सामान्य हैं, जिनके सत्र अभी तक समाप्त नहीं हुए हैं।
लेकिन जब मैं "सत्र समयबद्ध आउट" काउंटर को देखो, यह countinuously बढ़ जाती है। लोड परीक्षण खत्म होने पर यह धीरे-धीरे नीचे चला जाता है।
यह काउंटर बिल्कुल क्या है? जैसा कि मैं इसे समझता हूं, यह बहिष्कृत सत्र है जिसे अभी तक साफ़ नहीं किया गया है (कचरा कलेक्टर द्वारा?) और अभी भी स्मृति का उपयोग कर रहे हैं।
के बाद से हमारे आवेदन एक विशाल स्मृति की राशि का उपयोग कर रहा है, मैं खोजने की कोशिश कर रहा हूँ वास्तव में कि स्मृति है, जहां।
मुझे सच में, मुझे वास्तव में क्या जानने की ज़रूरत है, यह है कि यदि ये समय समाप्त सत्र अभी भी स्मृति का उपयोग कर रहे हैं। लिंक के लिए धन्यवाद, मैं इसे आज देख लूंगा। – Johnny5
ठीक है, कुछ और परीक्षण करने के बाद, यह टाइमर तब तक नहीं जाता जब तक कि एप्लिकेशन पूल पुनरारंभ नहीं होता है (जैसे, iisreset)। [Br] लेकिन फिर भी ऐसा लगता है कि टाइम आउट सत्र साफ़ नहीं किया गया है (स्मृति मुक्त नहीं है) मेरा भारोत्तोलन समाप्त होता है। – Johnny5
क्या आपके पास सत्र में कोई आरसीडब्ल्यू सामग्री चल रही है? उदाहरण के लिए क्या आपके पास किसी भी विरासत COM ऑब्जेक्ट को सत्र में एक्सेस और संग्रहीत किया जा रहा है? मैंने उन्हें उच्च रहने के लिए लोड का कारण देखा है। ऐसा लगता है कि आप स्मृति खाने वाली विशिष्ट चीज़ को समझने के लिए अन्य काउंटरों को देखना चाह सकते हैं। मैंने उन अध्यायों का उपयोग किया है जिन्हें मैंने ऊपर वर्णित किया है ताकि मुझे पॉइंटर्स दिया जा सके जहां यह आयोजित किया जा रहा है। विशेष रूप से, जीसी काउंटर बहुत मददगार हैं (gen0, gen1 और gen2)। – gbvb