2010-10-15 17 views
9

संकलित करता है मैं अपने आवेदन के लिए एएसपी.Net4 MVC2 का उपयोग कर रहा हूं। एप्लिकेशन का उपयोग करने से पहले आवेदन करने वाले पहले व्यक्ति को आम तौर पर लंबे समय तक प्रतीक्षा का अनुभव होता है। उसके बाद आवेदन बहुत संवेदनशील है। यदि एप्लिकेशन 15 मिनट के लिए निष्क्रिय है, तो उसी व्यक्ति या एप्लिकेशन का उपयोग करने वाले अगले व्यक्ति को फिर से प्रतीक्षा करने का अनुभव होगा। ऐसा लगता है कि एप्लिकेशन 15 मिनट के लिए निष्क्रिय होने के बाद संकलित करता है। क्या कोई मुझे बता सकता है कि मुझे समस्या को गोली मारने में परेशानी क्यों दिखनी चाहिए? धन्यवाद।एप्लिकेशन हर 15 मिनट

उत्तर

8

यह लगभग निश्चित रूप से मामला है कि आप जो अनुभव कर रहे हैं वह ऐप पूल रीसाइक्लिंग है। यह सच है कि पूल को पुनर्नवीनीकरण के बाद पुनः आरंभ करने में कुछ समय लगता है, लेकिन इसे इतना लंबा नहीं लेना चाहिए। एक "लंबी प्रतीक्षा" कितनी देर तक है? एक पल? कई? आईआईएस में आप कॉन्फ़िगर कर सकते हैं कि आपका ऐप पूल कितनी नियमित रूप से रीसायकल करता है। आईआईएस 7 के लिए, अपने ऐप पूल पर राइट-क्लिक करें और "उन्नत सेटिंग्स" चुनें, फिर "निष्क्रिय टाइम-आउट" देखें। आप इस मूल्य को बढ़ाने पर विचार कर सकते हैं। (या पूरी तरह अक्षम करने के लिए 0 पर सेट करें।)

+0

मैं प्रत्येक दिन 1 में एप्लिकेशन पूल रीसाइक्लिंग निर्धारित करते हैं, लेकिन यह अभी भी कुछ छोटे निष्क्रिय अवधि के बाद व्यापार घंटे के दौरान हो रहा है। प्रतीक्षा लगभग 30 सेकंड से 1 मिनट तक है। – user266909

+1

@ user266909, लेकिन क्या आपने "निष्क्रिय टाइम-आउट" समायोजित किया? –

6

कार्यान्वयन समाधान शुरू करने से पहले आपको समस्या का सटीक निदान करने की आवश्यकता है। सबसे पहले सत्यापित करें यदि वास्तव में, यह एक ऐप पूल रीसायकल है। आप अपने web.config के लिए इस अनुभाग जोड़कर शुरू कर सकते हैं:

<healthMonitoring> 
     <rules> 
     <add name="Application Lifetime Events Default" 
      eventName="Application Lifetime Events" 
      provider="EventLogProvider" 
      profile="Default" 
      minInstances="1" 
      maxLimit="Infinite" 
      minInterval="00:01:00" 
      custom="" /> 
     </rules> 
</healthMonitoring> 

यह विंडोज़ ईवेंट लॉग कभी भी asp.net करने के लिए एक घटना ही recycles प्रवेश करेंगे। यह रीसायकल के लिए कारण भी प्रदान करेगा (उदाहरण के लिए, किसी ने web.config, आदि को पोक किया है)। यदि यह एक रीसायकल है, तो आपको का पता लगाने की आवश्यकता है क्यों यह रीसाइक्लिंग है। क्या ऐसा इसलिए है क्योंकि आईआईएस ऐसा करने के लिए तैयार है चाहे कोई फर्क नहीं पड़ता? क्या ऐसा इसलिए है क्योंकि आपका ऐप मेमोरी को सही तरीके से संभालने में नहीं है और मेमोरी प्रेशर एएसपीनेट को खुद रीसायकल करना चाहता है? इन सवालों का जवाब पहले दिया जाना चाहिए।

पहले यह निर्धारित करें कि यह उपरोक्त कॉन्फ़िगरेशन में जोड़कर रीसायकल है और क्यों। एक बार जब आप जवाब प्राप्त कर लेंगे तो आप स्मृति की जांच कर सकते हैं, आदि

+0

web.config में कौन सा अनुभाग मुझे रखना चाहिए? धन्यवाद। – user266909

+1

इसे के प्रत्यक्ष बच्चे के रूप में रखें - http://msdn.microsoft.com/en-us/library/2fwh2ss9.aspx –

संबंधित मुद्दे