IIS: Boşta Kalma Zaman Aşımı - Geri Dönüşüm


99

IIS'de geri dönüşümün gerçekleşebileceği iki alan (ikiden fazla) vardır:

  1. "İşlem Modeli" bölümü → "Boşta Kalma Zaman Aşımı" altında (varsayılan 20 dakika)

ve

  1. "Geri Dönüşüm" bölümü → "Normal Zaman Aralığı" altında (varsayılan 1740 dakika)

Sorularım:

  1. İki yöntem arasındaki farklar nelerdir?
  2. Bunları 0 olarak ayarlamanın olumsuz etkileri nelerdir?

Yanıtlar:


101

Boşta Kalma Zaman Aşımı, web uygulamanızdan herhangi bir işlem istenmemişse, işlem düşecek ve bellekteki her şeyi serbest bırakacaktır.

Geri dönüşüm, bellek sızıntısı amaçları ve sistem sağlığı için, işleminizin kapatılıp yeniden başlatıldığı uygulama üzerinde zorunlu bir eylemdir.

Her ikisinin de olumsuz etkisi, genellikle Oturum ve Uygulama durumunuzun daha hızlı bir şekilde Geri Dönüşümle uğraşmanız durumunda kaybolmasıdır. (Oturum açmış kullanıcılar vb. Oturumu kapatacaklar, eğer "ödeme" yapacaklarsa, hepsi olabilirdi. kayıp "bu yüzden geri dönüşüm bu kadar büyük bir zaman aşımı değerindedir, boşta kalma zaman aşımı önemli değildir çünkü zaten hiç kimse oturum açmamıştır ve 20 dakika gibi bir işlem yapılmaz ve hala" alışveriş "değildirler

Olumlu olan, boşta kalma zaman aşımından kurtulmak olacaktır, çünkü web siteniz, her 20 dakikada bir 1 kullanıcınız varsa, bir kullanıcının yüklenmesini beklemek zorunda kalacağı oldukça aktif bir site değilse, "ilk" yanıtında daha hızlı yanıt verecektir. söyle. Dolayısıyla, 20 dakikada 1 defadan daha azını alan bir web sitesi, web sitesinin her kullanıcı için sıfırdan yeniden yüklenmesi gerektiğinden, aslında bu değeri artırmak istersiniz. ancak bunu uzun bir süre boyunca 0 olarak ayarlarsanız, koddaki herhangi bir bellek sızıntısı belirli bir süre boyunca sunucuyu tamamen ele geçirebilir.


Teşekkürler! Mantıklı. Benim ana ikilemim, "ilk yükün" çok uzun sürmesi. Her ikisini de 0 olarak ayarlarsam bunu aşabileceğimi düşündüm. Ancak bellek sızıntısı sorunu bir sorundur. "Geri dönüştürmenin", ancak ardından "ilk kez erişimin" sona erdirilmesi ve geri dönüştürmenin hemen ardından yapılması için bir isteği "zorlamanın" bir yolu var mı? Ya da geri dönüşümü sabah 2'de planlayıp sonra 2: 30'da bir "ilk erişim" planlayabilirsiniz. IIS'de bunu yapmanın bir yolu var mı?
Ricky

@Ricky Ben de ilk isabet yaşlanma sorununu alıyordum. Uygulama havuzunuz startMode'u AlwaysRunning olarak ayarlamanız gerekir: msdn.microsoft.com/en-us/library/ee677285%28v=azure.10%29.aspx
Steve Hibbert

Bu benim için de faydalı oldu: simple-talk.com/blogs/2013/03/05/…
Steve Hibbert

3
@Silvermind - Oturum işlemde depolanırsa, geri dönüştürüldüğünde kopyalanmaz. Buraya bakın .
BornToCode

31

Gönderen burada :

Sistem kaynaklarını korumanın bir yolu, bir uygulama havuzundaki çalışan işlemler için boşta kalma zaman aşımı ayarlarını yapılandırmaktır. Bu ayarlar yapılandırıldığında, bir çalışan işlem, belirli bir süre kullanılmadığında kapanır. Boşta kalma zaman aşımı için varsayılan değer 20 dakikadır.

Ayrıca IIS varsayılan uygulama havuzu geri dönüşümü neden 1740 dakikaya ayarlandı?

Sunucunuzda yalnızca birkaç siteniz varsa ve bunların her zaman hızlı yüklenmesini istiyorsanız, bunu sıfıra ayarlayın. Aksi takdirde, trafiksiz 20 dakikanız olduğunda, uygulama havuzu bir sonraki ziyarette yeniden başlayabilmesi için sona erecektir. Sorun şu ki, bir uygulama havuzuna yapılan ilk ziyaretin, uygulama havuzunun oluşturulması, ASP.NET veya başka bir çerçevenin yüklenmesi gerektiğinden yavaş olan yeni bir w3wp.exe çalışan işlemi oluşturması gerekmesi ve ardından uygulamanızın yüklenmek. Bu birkaç saniye sürebilir. Bu nedenle, her zaman çalışması gerekmeyen birçok siteyi barındıran bir sunucu olmadığı sürece, her şansım 0 olarak ayarlıyorum.


6

IIS artık

Idle Time-out Action : Suspend ayar

Askıya alma sadece süreci dondurur ve süreci yok etmekten çok daha etkilidir.


0

IIS üzerinde bir dizi Web Hizmetine çağrı yapan bir masaüstü uygulamasını devraldım. Web hizmetleri (ayrıca) zamanlanmış süreçleri bağımsız olarak (istemciyi açık bırakmadan) çalıştırabilmelidir. Dolayısıyla hepsinin zamanlayıcıları vardır. Web hizmeti zamanlayıcıları kapanıyordu (bellek sızıntısı?) Bu yüzden Boşta kalma zaman aşımını 0 olarak ayarladık ve zamanlayıcılar açık kalıyor.

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.