Jawaban:
Ya, mengatur nilai batas waktu idle ke nol akan menonaktifkan batas waktu idle.
Anehnya ini tidak didokumentasikan dalam dokumen MS tetapi bukti saya untuk ini muncul dari:
Skema Pengaturan IIS
Jika Anda melihat skema pengaturan IIS di:
C:\Windows\System32\inetsrv\config\schema\IIS_schema.xml
Definisi skema untuk di idleTimeout
bawah
<sectionSchema name="system.applicationHost/applicationPools">
sepertinya:
<attribute name="idleTimeout"
type="timeSpan"
defaultValue="00:20:00"
validationType="timeSpanRange"
validationParameter="0,2592000,60"/>
Jika Anda melihat validationParameter
atribut, kami melihat rentang 0 hingga 2592000 detik (,60
menentukan rincian pengaturan, dalam hal ini nilainya harus dapat dibagi dengan 60 [satu menit]).
Jika Anda melihat nilai awal yang diizinkan 0
maka itu biasanya menunjukkan bahwa pengaturan dapat dinonaktifkan.
Brad Kingsley adalah pendiri dan CEO OrcsWeb yang merupakan Microsoft hoster dan Gold Partner yang cukup terkenal, dihormati dan dipercaya.
Lalu ada juga bukti empiris dari fakta bahwa itu "hanya berfungsi".
Jawaban bagus! terima kasih Kev!
Pembaruan kecil: URL yang Anda kirim telah dipindahkan dan sekarang: http://bradkingsley.com/iis7-application-pool-idle-time-out-settings/
Saya bertanya-tanya apakah ada alasan mengapa ini bukan default, dan apakah mungkin ada dampak kinerja untuk menjaga kumpulan aplikasi terbuka terlalu lama. Nah, mempertahankannya saat idle tidak akan menyebabkan Anda lebih banyak kesulitan daripada tidak mendaur ulang ketika ada lalu lintas dan tidak ada waktu idle. Jika Anda khawatir dengan kebocoran memori atau kebocoran sumber daya lainnya, ada pengaturan untuk memaksa daur ulang berdasarkan waktu / jumlah permintaan sejak penggunaan daur ulang / memori terakhir. Berikut dokumentasi untuknya:
http://technet.microsoft.com/en-us/library/cc753179(v=ws.10).aspx
Saya akan mengatur server saya untuk tidak mendaur ulang saat idle (idleTimeout = 0), dan mendaur ulang setiap 24 jam: Daur Ulang> Interval Waktu Reguler = 1440
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"
}