Câu trả lời:
Có, đặt giá trị thời gian chờ không thành 0 sẽ vô hiệu hóa thời gian chờ không hoạt động.
Điều kỳ lạ là điều này không được ghi nhận trong các tài liệu MS nhưng bằng chứng của tôi cho điều này phát sinh từ:
Lược đồ cài đặt IIS
Nếu bạn có một cái nhìn vào lược đồ cài đặt IIS trong:
C:\Windows\System32\inetsrv\config\schema\IIS_schema.xml
Định nghĩa lược đồ cho idleTimeout
dưới
<sectionSchema name="system.applicationHost/applicationPools">
nó có vẻ như:
<attribute name="idleTimeout"
type="timeSpan"
defaultValue="00:20:00"
validationType="timeSpanRange"
validationParameter="0,2592000,60"/>
Nếu bạn nhìn vào validationParameter
thuộc tính, chúng ta sẽ thấy phạm vi từ 0 đến 2592000 giây ( ,60
chỉ định mức độ chi tiết của cài đặt, trong trường hợp này, giá trị phải chia hết cho 60 [một phút]).
Nếu bạn thấy giá trị bắt đầu cho phép 0
thì thường cho biết cài đặt có thể bị tắt.
Brad Kingsley là người sáng lập và Giám đốc điều hành của OrcsWeb, một đối tác khá nổi tiếng, được kính trọng và tin cậy của Microsoft.
Sau đó, cũng có bằng chứng thực nghiệm về thực tế rằng nó "chỉ hoạt động".
Câu trả lời chính xác! cảm ơn Kev
Một bản cập nhật nhỏ: URL bạn đã đăng đã được di chuyển và hiện tại: http://bradkingsley.com/iis7-application-pool-idle-time-out-sinstall/
Tôi đã tự hỏi nếu có một lý do tại sao điều này không phải là mặc định, và nếu có thể có một tác động hiệu suất để giữ cho nhóm ứng dụng mở quá lâu. Chà, giữ nó khi không hoạt động sẽ không gây rắc rối cho bạn hơn là không tái chế nó khi có lưu lượng truy cập và không có thời gian rảnh. Nếu bạn lo lắng về rò rỉ bộ nhớ hoặc rò rỉ tài nguyên khác, có một cài đặt buộc tái chế dựa trên thời gian / số lượng yêu cầu kể từ lần tái chế / tiêu thụ bộ nhớ cuối cùng. Đây là tài liệu cho nó:
http://technet.microsoft.com/en-us/l Library / cc753179 (v = ws.10) .aspx
Tôi sẽ đặt máy chủ của mình không tái chế khi không hoạt động (idleTimeout = 0) và tái chế sau mỗi 24 giờ: Tái chế> Khoảng thời gian thường xuyên = 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"
}