В соответствии с DISA мы должны установить параметр повторного использования для запросов. Кажется, я не могу отследить, каким должно быть максимальное значение для этого или когда счетчик перезапускается? Если пулы приложений настроены на перезапуск в полночь, не должен ли счетчик запросов сбрасываться на 0? Мы установили то, что мы считали высоким пределом в 99 999, но, похоже, это происходит каждый день около полудня на всех 3 наших сбалансированных серверах. Иногда вскоре после того, как достигается предел приватных байтов (также должен быть установлен для STIG, но составляет примерно 70% от общей памяти ОС), выдается еще один запрос на перезапуск, где, как я полагаю, либо слишком много запросов в очереди, либо сборка мусора борется (следовательно скачки процессора/памяти) для выполнения полной сборки мусора во время пиковой рабочей нагрузки. Я видел, что у IIS 6.5 было 35 000 запросов, но я не могу найти хорошего руководства о том, каким может быть максимальное значение для IIS 8.5 и IIS 10 (на случай миграции). Мы не заметили, что достигли предела запросов из-за того, что ведение журнала не включено по умолчанию в IIS 8.5, но включено в IIS 10. Мы также заметили, что родительский пул defaultapppool привязан к сайту по умолчанию, на котором привязан сертификат ssl. событие полной сборки мусора для дочернего пула приложений (вероятно, из-за общих настроек конфигурации для безопасности). Если кому-то нужен удобный скрипт, чтобы настроить все ваши пулы на перезапуск в полночь/включить ведение журнала для iis 8.5, это ниже.
Import-Module WebAdministration
Get-ChildItem — Путь IIS:\AppPools | ForEach-Object{
$appPoolName = $_.имя
$appPool = Get-Item "IIS:\AppPools\$appPoolName"
$appPool.recycling.logEventOnRecycle = "Время, запросы, расписание, память, IsapiUnhealthy, OnDemand, ConfigChange, PrivateMemory"
$appPool.Recycling.periodicRestart.time = "0"
clear-ItemProperty "IIS:\AppPools\$appPoolName" -Name Recycling.periodicRestart.schedule #clear values
set-ItemProperty "IIS:\AppPools\$appPoolName" -Name Recycling.periodicRestart.schedule -Value @{value="00:00:00"}
$appPool | Set-Item
}