Bir süre sonra ilk istek her zaman yavaş - ASP.NET MVC / IIS 8.5 / Windows Server 2012 R2 VPS


12

1 GB RAM ile Windows Server 2012 R2 / IIS 8.5 ile bir VPS üzerinde düşük trafikli bir ASP.NET MVC 5 uygulaması barındırıyorum.

Benim sorunum, herhangi bir istek olmadan bir süre sonra ilk istek her zaman yavaş bir yanıt alır - Chrome Geliştirme Araçları'na göre yaklaşık 1,5 saniye . Sonraki yenileme istekleri / yanıtları sadece 45 ms sürer .

Uygulama havuzunda Start Mode'u AlwaysRunning olarak ayarladım ve web sitesi düzeyinde Preload Enabled'ı True olarak ayarladım , ancak kesinlikle hiçbir etkisi olmadı . Herhangi bir değişiklik / yükleme olmasa bile, bir süre geçtikten sonra, bir sonraki istekle yanıt almak 1,5 saniye sürer.

Yanıtlar:


9

Sorun, IIS özelliğini yüklemeniz gerektiğidir Application Initialization. O zaman yapılandırmanızla çalışmalıdır.

Görüntü Rick Strahl'ın blogundandır :

IIS Özelliği

Ayrıca şunları ayarlamayı unutmayın:

  • Uygulama havuzunda Her Zaman Çalıştırmak için Başlat Modu
  • Önceden Yükle Etkin için true web sitesi düzeyde

Bu ayarları Uygulama Başlatma Modülü kurulmadan ayarlayabilirsiniz , ancak herhangi bir etkisi olmaz.

Daha fazla bilgi burada .


0

Web sunucunuzun hedeflediği .NET Framework sürümü arasında, Web Sunucusunda yüklü olan .NET Framework Çalışma Zamanı sürümüyle karşılaştırıldığında bir sürüm uyuşmazlığı var mı?

Önceden derlenmemiş ve / veya güncellenebilir bir web sitesi mi kuruyorsunuz? -

Gelişmiş Derleme Ayarları

.NET Çalışma Zamanı sürümü yükseltmelerinin geriye dönük olarak son derece uyumlu olması amaçlanmıştır. Ancak, .NET 4.5.1 Çerçevesini hedefleyen birden çok web sitesini Windows Server 2008 R2 sunucusundan .NET 4.6 Çalışma Zamanına ekli bir Windows Server 2012 R2 sunucusuna geçirirken çok benzer bir sorunla karşılaştım. İlk sayfa yüklemelerimin tümü (birden çok web sitesinde), bölünmüş bir saniye yerine her bir sayfa için iki dakika sürmeye başladı. Farklı IIS ayarları ile yaptığım tüm denemelerim sorunu çözmede başarısız oldu.

Sonuçta sorunu iki yoldan biriyle çözebildim:

  1. Sunucuyu tamamen yeniden oluşturmak, .NET 4.5 Runtime'a yama uygulayarak sorunumu çözdü ( .NET 4.6.1'in yüklenmesini engellemek için bir kayıt defteri ayarı eklemeyle birlikte ).
  2. Alternatif olarak, web sitelerimi "Ön Derleme" işaretli ve "Güncellenebilir olmasına izin ver" işaretli olmadan yeniden konuşlandırılması da sorunumu çözdü.

Buna karşılık, sunucudaki .NET Runtime sürümünü .NET 4.5 Runtime'a geri alma veya onarma girişimlerimin tümü sayfa yükleme sorunlarımı çözmedi. ( Sunucuyu yeniden görüntülemekten kısa bir .NET Çalışma Zamanı'nı tamamen geri almak için temiz ve güvenilir bir işlem yoktur .)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.