2009-10-20 122 views

回答

169

是的,將空閒超時值設置爲零將禁用空閒超時。

奇怪的是這在MS文檔沒有記載,但我這方面的證據來自出現了:

  • IIS設置架構

    如果你在看看IIS設置架構:

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

    idleTimeout

    下的模式定義10

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

    它看起來像:

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

    如果你看一下validationParameter屬性,我們可以看到一個範圍爲0至2592000秒(該,60指定設置的粒度,在這種情況下,值必須可以被60 [一分鐘]分割)。

    如果您看到起始允許值0那麼通常表示可以禁用該設置。

  • IIS7 Application Pool Idle Time-out Settings

    布拉德·金斯利是OrcsWeb誰是相當著名的,尊重和信任的微軟託管服務提供商和黃金搭檔的創始人和CEO。

  • 然後還有一個事實的經驗證據表明它「正常工作」。

+1

@純 - 請參閱我的更新答案。 – Kev

+3

向他人展示頭像 - 在閱讀完此文後,我將IIS 7上的空閒超時設置爲0,並立即開始超時 - 每次頁面加載都需要15秒左右。我現在把它升高到600,一切又快又快。 – nailitdown

+1

@nailitdown:你可能想仔細檢查一下。我只是將我的IIS6應用程序池超時設置爲0,並且它工作正常。 IIS7/IIS6之間有一個不同的機會,這很好理解。 –

8

很好的答案!感謝Kev!

一個小更新:您發佈的URL已移動,並且現在是: http://bradkingsley.com/iis7-application-pool-idle-time-out-settings/

我不知道是否有一個原因,這是不是默認的,如果有可能是保持性能的影響應用程序池打開時間過長。那麼,在空閒時保持它不會造成更大的麻煩,而不是在沒有空閒時間的情況下不回收它。 如果您擔心內存泄漏或其他資源泄漏,可以根據自上次回收/內存消耗後的時間/請求數量強制進行回收。下面是它的文檔:

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

我要我的服務器設置爲不回收閒置(的idleTimeout = 0),並回收每24小時: 回收>一定時間間隔= 1440

+13

建議您將回收站設置爲固定時間(例如0100)而不是24小時,因爲這將導致自上次服務器重新啓動/ iis重置後的24小時內。 – 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

對這個粘貼代碼的解釋是有用的。 –

相關問題