ตาม DISA เราจำเป็นต้องตั้งค่าตัวเลือกการรีไซเคิลสำหรับคำขอ ฉันไม่สามารถติดตามว่าค่าสูงสุดสำหรับสิ่งนี้ควรเป็นเท่าใดหรือเมื่อตัวนับเริ่มทำงานใหม่ หากกลุ่มแอพได้รับการกำหนดค่าให้รีไซเคิลในเวลาเที่ยงคืน ตัวนับคำขอไม่ควรรีเซ็ตเป็น 0 ใช่หรือไม่ เรากำหนดสิ่งที่เราคิดว่าเป็นขีดจำกัดสูงที่ 99,999 แต่ดูเหมือนว่าจะได้รับผลกระทบทุกวันประมาณเที่ยงในเซิร์ฟเวอร์สมดุลทั้ง 3 แห่งของเรา บางครั้งไม่นานหลังจากเกินขีดจำกัดไบต์ส่วนตัว (ต้องตั้งค่าต่อ STIG ด้วย แต่ประมาณ 70% ของหน่วยความจำระบบปฏิบัติการทั้งหมด) ออกคำขอรีไซเคิลอีกครั้ง ซึ่งฉันเชื่อว่าอาจมีคำขอที่รอคิวมากเกินไปอยู่ในกระบวนการหรือการรวบรวมขยะกำลังดิ้นรน (ด้วยเหตุนี้ cpu/mem เพิ่มขึ้นอย่างรวดเร็ว) เพื่อออกการรวบรวมขยะทั้งหมดในช่วงที่มีภาระงานสูงสุด ฉันเห็นว่า IIS 6.5 มีคำขอ 35,000 รายการ แต่ดูเหมือนจะไม่พบคำแนะนำที่ดีเกี่ยวกับค่าสูงสุดสำหรับ IIS 8.5 และ IIS 10 (เมื่อเราย้ายข้อมูล) เราไม่ได้สังเกตว่าเรากำลังถึงขีดจำกัดคำขอเนื่องจากการบันทึกนั้นไม่ได้เปิดใช้งานตามค่าเริ่มต้นใน IIS 8.5 แต่อยู่ใน IIS 10 นอกจากนี้เรายังสังเกตเห็นว่า apppool เริ่มต้นหลักถูกผูกไว้กับไซต์เริ่มต้นที่ใบรับรอง ssl ถูกผูกไว้เพื่อทริกเกอร์ เหตุการณ์การรวบรวมขยะทั้งหมดเทียบกับกลุ่มแอปลูก (อาจเป็นเพราะการตั้งค่าคอนฟิกที่ใช้ร่วมกันเพื่อความปลอดภัย) ถ้าใครต้องการสคริปต์ที่มีประโยชน์เพื่อตั้งค่าพูลทั้งหมดของคุณให้รีไซเคิลตอนเที่ยงคืน/เปิดใช้การบันทึกสำหรับ iis 8.5 ก็ตามด้านล่าง
นำเข้าโมดูล WebAdministration
Get-ChildItem âPath IIS:\AppPools | สำหรับแต่ละวัตถุ{
$appPoolName = $_.ชื่อ
$appPool = รับรายการ "IIS:\AppPools\$appPoolName"
$appPool.recycling.logEventOnRecycle = "เวลา, คำขอ, กำหนดการ, หน่วยความจำ, IsapiUnhealthy, OnDemand, ConfigChange, PrivateMemory"
$appPool.Recycling.periodicRestart.time = "0"
ล้าง ItemProperty "IIS:\AppPools\$appPoolName" -Name Recycling.periodicRestart.schedule #clear ค่า
set-ItemProperty "IIS:\AppPools\$appPoolName" -Name Recycling.periodicRestart.schedule -Value @{value="00:00:00"}
$appพูล | ชุดรายการ
}