มันจะถูกปิดใช้งานหรือไม่หากฉันตั้งค่าการหมดเวลาที่ไม่ได้ใช้งานเป็น 0
มันจะถูกปิดใช้งานหรือไม่หากฉันตั้งค่าการหมดเวลาที่ไม่ได้ใช้งานเป็น 0
คำตอบ:
ใช่การตั้งค่าการหมดเวลาที่ไม่ใช้งานเป็นศูนย์จะปิดใช้งานการหมดเวลาที่ไม่ได้ใช้งาน
นี่ไม่ใช่เอกสารในเอกสาร MS แต่หลักฐานของฉันเกี่ยวกับสิ่งนี้เกิดขึ้นจาก:
โครงสร้างการตั้งค่า IIS
หากคุณดูที่สกีมาการตั้งค่า IIS ใน:
C:\Windows\System32\inetsrv\config\schema\IIS_schema.xml
คำจำกัดความสคีมาสำหรับidleTimeout
ภายใต้
<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
นั้นมักจะแสดงว่าการตั้งค่าสามารถปิดการใช้งาน
แบรดคิงสลีย์เป็นผู้ก่อตั้งและซีอีโอของ OrcsWeb ซึ่งเป็น Microsoft hoster และ Gold Partner ที่รู้จักกันดีเป็นที่รู้จักและน่าเชื่อถือ
จากนั้นก็มีหลักฐานเชิงประจักษ์เกี่ยวกับความจริงที่ว่า "ใช้งานได้"
คำตอบที่ดี! ขอบคุณ Kev!
อัปเดตขนาดเล็ก: URL ที่คุณโพสต์ได้ย้ายไปแล้วและตอนนี้: http://bradkingsley.com/iis7-application-pool-idle-time-out-settings/
ฉันสงสัยว่ามีสาเหตุว่าทำไมนี่ไม่ใช่ค่าเริ่มต้นและหากอาจมีผลกระทบต่อประสิทธิภาพในการเปิดพูลแอพพลิเคชั่นนานเกินไป การรักษาเมื่อไม่ได้ใช้งานจะไม่ทำให้คุณมีปัญหามากกว่าการรีไซเคิลเมื่อมีการใช้งานและไม่มีเวลาว่าง หากคุณกังวลเกี่ยวกับการรั่วไหลของหน่วยความจำหรือการรั่วไหลของทรัพยากรอื่น ๆ มีการตั้งค่าสำหรับการบังคับให้รีไซเคิลตามเวลา / จำนวนการร้องขอตั้งแต่การรีไซเคิล / การใช้หน่วยความจำครั้งล่าสุด นี่คือเอกสารสำหรับมัน:
http://technet.microsoft.com/en-us/library/cc753179(v=ws.10).aspx
ฉันจะตั้งเซิร์ฟเวอร์ของฉันให้ไม่มีการรีไซเคิลบน idle (idleTimeout = 0) และรีไซเคิลทุก 24 ชั่วโมง: การรีไซเคิล> ช่วงเวลาปกติ = 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"
}