हमेशा थोड़ी देर के बाद पहला अनुरोध - ASP.NET MVC / IIS 8.5 / Windows सर्वर 2012 R2 VPS


12

मैं Windows Server 2012 R2 / IIS 8.5 के साथ VPS पर कम ट्रैफ़िक ASP.NET MVC 5 एप्लिकेशन होस्ट कर रहा हूं, जिसमें 1 GB RAM है।

मेरी समस्या यह है कि बिना किसी अनुरोध के कुछ समय के बाद पहला अनुरोध हमेशा धीमी प्रतिक्रिया प्राप्त करता है - क्रोम देव टूल्स के अनुसार लगभग 1.5 सेकंड । बाद में रिफ्रेश रिक्वेस्ट / रिस्पॉन्स केवल 45 एमएस के बारे में लेते हैं

मैंने पहले से ही एप्लीकेशन मोड पर हमेशा मोड पर स्टार्ट मोड सेट किया था , और प्रीलोड को वेबसाइट स्तर पर ट्रू से सक्षम किया गया था, लेकिन इसका पूरी तरह से प्रभाव था । यहां तक ​​कि अगर कोई परिवर्तन नहीं है / जो भी अपलोड करता है, तो कुछ समय बीतने के बाद, अगले अनुरोध के साथ प्रतिक्रिया प्राप्त करने के लिए 1.5 एस लगता है।

जवाबों:


9

समस्या यह है, आपको IIS सुविधा को स्थापित करने की आवश्यकता है Application Initialization। फिर इसे आपके कॉन्फ़िगरेशन के साथ काम करना चाहिए।

छवि रिक स्ट्राल के ब्लॉग से है :

IIS फीचर

सेट करने के लिए भी याद रखें:

  • एप्लिकेशन पूल पर हमेशा चालू करने के लिए मोड प्रारंभ करें
  • प्रीलोड सक्षम करने के लिए यह सच है वेबसाइट स्तर पर

आप बिना एप्लिकेशन इनिशियलाइज़ेशन मॉड्यूल के इस सेटिंग को सेट कर सकते हैं , लेकिन फिर उनका कोई असर नहीं होगा।

अधिक जानकारी यहाँ


0

क्या .NET फ्रेमवर्क संस्करण के बीच संभावित रूप से एक संस्करण बेमेल है जो आपकी वेबसाइट वेब सर्वर पर स्थापित .NET फ्रेमवर्क रनटाइम संस्करण की तुलना में लक्षित है?

और क्या आप एक ऐसी वेबसाइट पर तैनाती कर रहे हैं, जो पूर्वनिर्धारित नहीं है और / या अद्यतन करने योग्य है? -

उन्नत Precompile सेटिंग्स

.NET रनटाइम संस्करण अपग्रेड का उद्देश्य अत्यधिक बैकवर्ड संगत होना है। हालाँकि, मैं एक बहुत ही समान समस्या में भाग गया जब एक Windows Server 2008 R2 सर्वर से एक Windows Server 2012 R2 सर्वर से .NET 4.5.1 फ्रेमवर्क को लक्षित करने वाली कई वेबसाइटों को .NET 4.6 रनटाइम तक पैच किया गया। मेरे आरंभिक पृष्ठ के सभी लोड (कई वेबसाइटों पर) अलग-अलग सेकंड के बजाय प्रत्येक व्यक्तिगत पेज के लिए दो मिनट का समय लेने लगे। और विभिन्न IIS सेटिंग्स के साथ मेरे सभी प्रयोग समस्या को हल करने में असफल रहे।

अंततः मैं दो में से एक तरीके से मुद्दे को हल करने में सक्षम था:

  1. पूरी तरह से सर्वर को फिर से बनाना, .NET 4.5 रनटाइम तक पैच किया गया। मेरी समस्या को हल किया (साथ ही .NET 4.6.1 की इंस्टॉल को ब्लॉक करने के लिए एक रजिस्ट्री सेटिंग को जोड़ना )।
  2. वैकल्पिक रूप से, "Precompile" जाँच के साथ मेरी वेबसाइट को फिर से तैयार करने और "अनुमति योग्य होने की अनुमति दें" के साथ अनियंत्रित होने से भी मेरी समस्या हल हो गई।

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.