2009-10-20 13 views

cevap

169

Evet, boşta kalma zaman aşımı değerini sıfır olarak ayarlamak, boşta kalma zaman aşımlarını devre dışı bırakır.

İşin garibi bu MS docs belgelenmiştir ama bu benim kanıtlar ortaya çıkar:

: İçinde IIS ayarları şema bir göz varsa

  • IIS Ayarları Şeması

    C:\Windows\System32\inetsrv\config\schema\IIS_schema.xml

    altında idleTimeout şema tanımı Eğer validationParameter özniteliği bakarsak

    <attribute name="idleTimeout" 
         type="timeSpan" 
         defaultValue="00:20:00" 
         validationType="timeSpanRange" 
         validationParameter="0,2592000,60"/> 
    

    biz 0 2592000 saniyelik bir dizi bakın bu durumda değer (,60, ayar ayrıntı düzeyini belirtir: gibi 10

    <sectionSchema name="system.applicationHost/applicationPools">

    görünüyor 60 [bir dakika] ile bölünebilir olmalıdır.

    0 numaralı bir başlangıç ​​izin verilen değeri görürseniz, bu genellikle ayarın devre dışı bırakılabileceğini gösterir.

    IIS7 Application Pool Idle Time-out Settings

    Brad Kingsley

  • oldukça saygın, bilinen ve güvenilen Microsoft barındırıcı ve Altın Ortağı olan OrcsWeb kurucusu ve CEO'su. Daha sonra "sadece çalışır" gerçeğinin ampirik kanıtı da vardır.

+1

@pure - lütfen güncellenmiş yanıtıma bakın. – Kev

+3

diğerleri için bir headup - bunu okuduktan sonra, boşta zaman aşımı IIS7'de 0 olarak ayarladı ve hemen zaman aşımına başladı - her sayfa yükleme 15 saniye sürdü. Şimdi 600'e çektim ve her şey tekrar hızlıca hızlı. – nailitdown

+1

@nailitdown: Bunu iki kez kontrol etmek isteyebilirsiniz. IIS6 uygulama havuzu zaman aşımını 0 olarak ayarladım ve iyi çalışıyor. Bilinmesi iyi olan IIS7/IIS6 arasında farklı bir şans var. –

8

Harika yanıt! teşekkürler Kev!

küçük güncelleme: Yayınladığınız URL taşındı ve şimdi olduğu: http://bradkingsley.com/iis7-application-pool-idle-time-out-settings/

bu varsayılan değildir ve bir sebebi olup olmadığını merak tutmak için bir performans etkisini olabilir eğer Uygulama havuzu çok uzun süre açık. Boşta kaldığı zaman devam etmek, trafik ve boşta kalma süresi olduğunda geri dönüştürülmekten daha fazla sorun yaratmayacaktır. Bellek sızıntıları veya diğer kaynak sızıntılarından endişe ediyorsanız, son geri dönüştürme/bellek tüketiminden bu yana isteklerin zamana/sayısına göre geri dönüşü zorlamak için bir ayar vardır.

http://technet.microsoft.com/en-us/library/cc753179(v=ws.10).aspx

ben her 24 saatte rölantide (idleTimeout = 0) üzerinde hiçbir geri dönüşüm benim sunucuyu ayarlayın ve geri dönüşüm için gidiyorum: Geri Dönüşüm> Normal Zaman Aralığı = 1440

İşte bunun için belgelerdir
+13

Geri dönüşümünüzü, 24 saat yerine sabit bir süreye (örneğin, 0100) ayarlamanız önerilir çünkü bu, son sunucunun yeniden başlatılmasından/yeniden başlatılmasından itibaren 24 saat olur. – Neal

0
Import-Module WebAdministration 

$pools = Get-ChildItem iis:\apppools 

foreach ($pool in $pools) 
{ 
$poolname = $pool.Name 

Set-ItemProperty IIS:\AppPools\$poolname -name processModel -value @{idletimeout="20"} 
Set-ItemProperty IIS:\AppPools\$poolname -name processModel -value @{idletimeoutaction="Suspend"} 
set-ItemProperty IIS:\AppPools\$poolname -Name Recycling.periodicRestart -Value @{time="0"} 
set-ItemProperty IIS:\AppPools\$poolname -Name Recycling.periodicRestart.schedule -Value @{value="02:00:00"} 
Set-ItemProperty IIS:\AppPools\$poolname -name Recycling -value @{logEventOnRecycle="Time, Requests, Schedule, Memory, IsapiUnhealthy, OnDemand, ConfigChange, PrivateMemory"} 

Write-Host "Updated $poolname settings" 
} 
+1

Bu yapıştırılan kodun bir açıklaması yararlı olacaktır. –