दिलचस्प पोस्ट
PHP में क्लाइंट आईपी पता कैसे प्राप्त करें? पैकेज नाम से आवेदन नाम प्राप्त करें एंड्रॉइड स्टूडियो में लॉकेट को कैसे फ़िल्टर करें? स्विफ्ट के लिए UITableView उदाहरण UILongPressGestureRecognizer नीचे दबाने पर दो बार कहलाता है वापसी का प्रकार '?:' (टर्नरी सशर्त ऑपरेटर) कई प्रकार के उत्पाद के लिए एक उत्पाद तालिका कैसे डिज़ाइन करें, जहां प्रत्येक उत्पाद के कई पैरामीटर हैं जावा – क्लास के बजाय इंटरफ़ेस प्रकार से घोषणा एपीआई का इस्तेमाल करते हुए instagram के लिए चित्रों को कैसे पोस्ट करें क्यों (0-6) है -6 = गलत है? नाम के अनुसार खोल चर, अप्रत्यक्ष रूप से एंड्रॉइड डिवाइस कंपन कैसे करें? Mockito कैसे superclass की एक विधि का केवल कॉल नकली VBA के साथ Excel में रनटाइम पर बनाए गए नियंत्रणों के लिए ईवेंट कैसे जोड़ें मैं .NET के साथ आरएसए और SHA256 का उपयोग कर फ़ाइल को कैसे हस्ताक्षरित कर सकता हूं?

आईआईएस के लिए धीमी प्रारंभिक लोड तय करना

आईआईएस कम ट्रैफ़िक वेबसाइटों के लिए एक कष्टप्रद विशेषता है जहां यह अप्रयुक्त कार्यप्रणाली प्रक्रियाओं को फिर से जोड़ती है, जिसके कारण कुछ समय बाद साइट पर पहले उपयोगकर्ता को बेहद लम्बी देरी (30+ सेकंड) मिलती है।

मैं इस समस्या के समाधान की तलाश कर रहा हूं और मुझे ये संभावित समाधान मिले हैं

ए अनुप्रयोग प्रारंभ प्लगइन का उपयोग करें

B. एनएटी 4 के साथ ऑटो-स्टार्ट का प्रयोग करें

सी। निष्क्रिय-टाइमआउट अक्षम करें (आईआईएस रीसेट के तहत)

डी। साइट को प्रीकंपल करें

मैं सोच रहा हूं कि इनमें से कौन-सा प्राथमिकता है, और अधिक महत्वपूर्ण बात, एक ही समस्या के इतने सारे समाधान क्यों हैं? (मेरा अनुमान है वे नहीं हैं, और मुझे कुछ सही तरीके से समझ नहीं है)।

संपादित करें

सी प्रदर्शन करना मेरी साइट को गर्म रखने के लिए पर्याप्त प्रतीत हो रहा है, लेकिन मैंने पाया है कि मेरी साइट की धीमी गति की वास्तविक रूट को इकाई फ़्रेमवर्क के साथ करना है, जो मुझे पता नहीं लग सकता है कि यह ठंडा क्यों हो रहा है इस सवाल को देखें, जो दुर्भाग्य से उत्तर नहीं दिया गया है, अभी तक उत्तर दिया गया है!

मुझे अंततः केवल अपनी साइट को कभी-कभी हिट करने के लिए एक गर्म स्क्रिप्ट बनाना पड़ता था जिससे यह सुनिश्चित हो सके कि यह तेजी से रहा।

वेब के समाधान से एकत्रित समाधान "आईआईएस के लिए धीमी प्रारंभिक लोड तय करना"

विकल्प ए, बी और डी उसी श्रेणी में दिख रहे हैं क्योंकि वे केवल प्रारंभिक शुरुआती समय को प्रभावित करते हैं, वे वेबसाइट के वार्मअप करते हैं जैसे स्मृति में पुस्तकालयों के संकलन और लोडिंग।

निष्क्रिय टाइमआउट सेट करने के लिए, सी का उपयोग करना चाहिए ताकि सर्वर के बाद के अनुरोधों को तेज़ी से सेवा दी जा सके (ऐप पूल को पुनरारंभ करना कुछ सेकंड के क्रम में कुछ समय लेता है)।

जहाँ तक मुझे पता है, स्मृति को बचाने के लिए समय समाप्ति मौजूद है, उस मशीन पर समानांतर में चलने वाली अन्य वेबसाइटों की आवश्यकता हो सकती है यह कीमत एक समय धीमा लोड समय है

इस तथ्य के अलावा कि उपयोगकर्ता निष्क्रियता के मामले में ऐप पूल बंद हो जाता है, ऐप पूल भी हर 1740 मिनट (2 9 घंटे) डिफ़ॉल्ट रूप से रीसायकल होगा।

टेक्नेटेट से:

इंटरनेट इनफॉर्मेशन सर्विसेज (आईआईएस) एप्लीकेशन पूल को अस्थिर राज्यों से बचने के लिए समय-समय पर पुनर्नवीनीकरण किया जा सकता है जो एप्लिकेशन क्रैश, हैंग, या मेमोरी लीक को जन्म दे सकती हैं।

जब तक ऐप पूल रीसाइक्लिंग पर छोड़ दिया जाता है, तब तक यह पर्याप्त होना चाहिए। लेकिन अगर आप वास्तव में अधिकांश घटकों के लिए शीर्ष पायदान की अपेक्षा चाहते हैं, तो आपको कुछ ऐसे आवेदन प्रारंभिक मॉड्यूल जैसे कि आपने उल्लेख किया है।

वेब होस्टिंग चैलेंज

आपको याद रखना होगा कि मशीन कॉन्फ़िगरेशन विकल्पों में से कोई भी उपलब्ध नहीं है यदि आप साझा सर्वर पर होस्ट किए गए हैं तो हमारे पास (छोटी कंपनियां और व्यक्ति) हैं

ASP.NET MVC ओवरहेड

मेरी साइट पर कम से कम 30 सेकंड लगते हैं, जब 20 मिनट से अधिक समय तक हिट नहीं हो जाता (और वेब ऐप बंद कर दिया गया है)। यह भयानक है।

प्रदर्शन का परीक्षण करने का एक अन्य तरीका

अगर आपके एएसपी.नेट एमवीसी शुरू हो रहा है या कुछ और है तो यह जांचने का एक और तरीका है। अपनी साइट पर एक सामान्य HTML पृष्ठ ड्रॉप करें जहां आप सीधे इसे दबा सकते हैं।
अगर समस्या एएसपी.नेट एमवीसी से जुड़ी होती है तो एचटीएमएल पेज लगभग तुरंत तब भी रेंडर कर देगा जब वेब ऐप शुरू नहीं किया गया है।
इसी तरह मुझे पहली बार मान्यता मिली कि समस्या एएसपी.नेट एमवीसी स्टार्टअप में थी। मैंने किसी भी समय एक HTML पृष्ठ लोड किया है और यह तेजी से तेज़ी से लोड होगा फिर, उस एचटीएमएल पेज को मारने के बाद मैं अपने एएसपी.नेट एमवीसी यूआरएल में से एक को मारा और मुझे क्रोम मैसेज "रेडडेव। यूज के लिए प्रतीक्षा कर रहा था" …

उपयोगी स्क्रिप्ट के साथ एक और टेस्ट

उसके बाद मैंने एक लिनक्यूपैड (अधिक जानकारी के लिए http://linqpad.net देखें ) लिखा था जो मेरी वेब साइट को हर 8 मिनट (ऐप को अनलोड करने के लिए समय से कम – जो कि 20 मिनट होना चाहिए) पर लगाएगा और मैं यह घंटों के लिए चल रहा है

जबकि स्क्रिप्ट चल रहा था मैं अपनी वेब साइट मारा और हर बार मेरी साइट तेजता से तेजी से आया। यह मुझे एक अच्छा विचार देता है कि एएसपी.नेट एमवीसी स्टार्टअप बार की वजह से मुझे जो धीमी गति का अनुभव हो रहा था, सबसे अधिक संभावना थी।

लिंकपैड प्राप्त करें और आप निम्न स्क्रिप्ट चला सकते हैं – बस यूआरएल को अपने आप में बदल दें और इसे चलाना और आप इसे आसानी से जांच सकते हैं। सौभाग्य।

नोट : LinqPad में आपको F4 दबाएं और Library को जोड़ने के लिए System.Net के लिए एक संदर्भ जोड़ना होगा जो आपके पृष्ठ को पुनर्प्राप्त करेगा।

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

System.Timers.Timer webKeepAlive = new System.Timers.Timer(); Int64 counter = 0; void Main() { webKeepAlive.Interval = 5000; webKeepAlive.Elapsed += WebKeepAlive_Elapsed; webKeepAlive.Start(); } private void WebKeepAlive_Elapsed(object sender, System.Timers.ElapsedEventArgs e) { webKeepAlive.Stop(); try { // ONLY the first time it retrieves the content it will print the string String finalHtml = GetWebContent(); if (counter < 1) { Console.WriteLine(finalHtml); } counter++; } finally { webKeepAlive.Interval = 480000; // every 8 minutes webKeepAlive.Start(); } } public String GetWebContent() { try { String URL = "http://YOURURL.COM"; WebRequest request = WebRequest.Create(URL); WebResponse response = request.GetResponse(); Stream data = response.GetResponseStream(); string html = String.Empty; using (StreamReader sr = new StreamReader(data)) { html = sr.ReadToEnd(); } Console.WriteLine (String.Format("{0} : success",DateTime.Now)); return html; } catch (Exception ex) { Console.WriteLine (String.Format("{0} -- GetWebContent() : {1}",DateTime.Now,ex.Message)); return "fail"; } } 

मैं बी का उपयोग करता हूं क्योंकि यह कि वर्कर प्रक्रिया रीसाइक्लिंग के साथ संयोजन में इसका मतलब है कि रीसाइक्लिंग के समय केवल एक विलंब होगा। यह सामान्य रूप से निष्क्रिय होने के बाद पहली बार अनुरोध के जवाब में आरंभीकरण से जुड़े विलंब से बचा जाता है। आप रीसाइक्लिंग के लाभों को भी प्राप्त कर सकते हैं।

अपनी निष्क्रिय वेबसाइट पर पिंग करने के लिए एक पिंग सेवा / स्क्रिप्ट लिखना बल्कि एक सर्वोत्तम तरीका है क्योंकि आपके पास पूर्ण नियंत्रण होगा आपके द्वारा उल्लिखित अन्य विकल्प उपलब्ध होंगे यदि आपने एक समर्पित होस्टिंग बॉक्स किराए पर लिया है

साझा किए गए होस्टिंग स्पेस में, वार्मअप स्क्रिप्ट सर्वश्रेष्ठ प्रथम स्तर की रक्षा है (स्वयं सहायता सबसे अच्छी मदद है)। यह एक ऐसा लेख है जो इसे अपने स्वयं के वेब एप्लिकेशन से कैसे करें पर एक विचार साझा करता है

प्रदर्शन के मुद्दों की सहायता के लिए इस आलेख को देखें। इसमें "कोल्ड स्टार्ट" खंड के तहत शुरू करने से संबंधित दोनों प्रदर्शन समस्याएं शामिल हैं इनमें से अधिकतर कोई बात नहीं होगी, आप किस प्रकार के सर्वर का प्रयोग कर रहे हैं, स्थानीय स्तर पर या उत्पादन में।

http://blogs.msdn.com/b/mcsuksoldev/archive/2011/01/19/common-performance-issues-on-asp-net-web-sites.aspx

अगर एप्लिकेशन एक्सएमएल (और उसमें वेब सर्विसेज शामिल है) से कुछ भी deserializes है … सुनिश्चित करें कि SGEN deseriaization में शामिल सभी बाइनरी के खिलाफ चलाया जाता है और परिणामी डीएलएल ग्लोबल असेंबली कैश (जीएसी) में रखता है। यह सभी सीरियलाइजेशन ऑब्जेक्ट्स जो एसजीईएन एसएलएएन द्वारा इस्तेमाल की जाती थीं जिसके परिणामस्वरूप डीएलएल में उन्हें कैश किया गया था। यह डिस्क से कॉन्फ़िग फाइलों की पहली deserialization (लोडिंग) और वेब सेवाओं के लिए प्रारंभिक कॉल पर भारी समय की बचत दे सकता है। http://msdn.microsoft.com/en-us/library/bk3w6240(VS.80).aspx

यदि कोई आईआईएस सर्वर इंटरनेट तक आउटगोइंग एक्सेस नहीं है, तो मशीन.कॉन्ग में जनरेटिवर प्राइसेज = "फेल" को जोड़कर प्रमाणन रद्द करने की सूची (सीआरएल) को बंद करें। अन्यथा प्रत्येक कार्यकर्ता प्रक्रियाएं स्टार्ट-अप के दौरान 20 सेकंड से अधिक समय तक लटका सकती हैं जबकि एक सीआरएल सूची प्राप्त करने के लिए इंटरनेट से कनेक्ट करने का प्रयास करते समय। http://blogs.msdn.com/amolravande/archive/2008/07/20/startup-performance-disable-the-generatepublisherevidence-property.aspx

http://msdn.microsoft.com/en-us/library/bb629393.aspx

सभी विधानसभाओं पर एनजीईएन का उपयोग करने पर विचार करें। हालांकि बिना सावधानीपूर्वक उपयोग किए जाने से यह बहुत अधिक प्रदर्शन लाभ नहीं देता है। इसका कारण यह है कि प्रत्येक प्रक्रिया द्वारा लोड किए जाने वाले सभी बायनेरिज़ के बेस लोड पते को ओवरलैप न करने के लिए बिल्ड समय पर सावधानीपूर्वक सेट होना चाहिए। यदि बाइनरी को रिसाव किया जाना है, जब वे पते के कारण लोड हो जाते हैं, एनजीएन का उपयोग करने के लगभग सभी प्रदर्शन लाभ खो जाएंगे http://msdn.microsoft.com/en-us/magazine/cc163610.aspx

एक समय पर साइट को पिंग करने का एक अच्छा विकल्प माइक्रोसॉफ्ट फ्लो का उपयोग करना है, जो कि प्रति माह 750 "रन" तक मुफ्त है यह फ्लो बनाने के लिए बहुत आसान है जो आपके साइट को गर्म करने के लिए हर घंटे हिट करता है आप अपनी साइट के कई हिट को अलग करने में विलंब के साथ एक एकल प्रवाह बनाकर 750 की अपनी सीमा के आसपास भी काम कर सकते हैं।

https://flow.microsoft.com