dynamicIdleThreshold
소개
Windows Server® 2008 R2가 페이징을 많이 시작하면(1.5x ram일 수 있음) HTTP 요청의 응답 시간이 중단됩니다. 이는 공유 호스팅 시나리오에서 특히 일반적입니다. IIS 7 이상의 기능을 사용하면 페이지 파일 사용량(총 커밋)이 작업자 프로세스 유휴 시간 제한에 영향을 미치므로 메모리가 할당됨에 따라 요청 응답 시간의 저하를 줄일 수 있습니다.
기본적으로 유휴 시간 제한은 20분입니다. 이 시간 제한 값은 WAS(Windows Process Activation Service)에 의해 구성됩니다. 현재 유휴 시간 제한 값이 WAS 구성 값보다 크면 작업자 프로세스가 종료를 시작합니다.
IIS dynamicIdleThreshold 속성을 사용하면 구성 가능한 메모리 제한에 도달할 때 관리자가 이 유휴 시간 제한을 동적으로 줄일 수 있습니다. 설정의 단위는 "RAM 커밋된 비율"입니다. 공유 호스팅 테스트에서 최대 성능은 130 값으로 도달했습니다. 설정의 80%에 도달하면 유휴 시간 제한이 크게 줄어들기 시작합니다.
dynamicIdleThreshold를 구성하려면
- 이 속성을 특정 값(예: 130%)으로 설정하려면 명령 프롬프트를 열고 다음을 실행합니다.
%windir%\system32\inetsrv\appcmd set config -section:system.applicationHost/webLimits -dynamicIdleThreshold:130
IIS PowerShell 공급자를 사용하여 dynamicIdleThreshold를 구성하려면
PowerShell 프롬프트를 열고 다음을 실행합니다.
set-webconfigurationproperty /system.applicationHost/webLimits -name dynamicIdleThreshold -value 130
이벤트 로그 항목
다음은 WAS에서 생성할 수 있는 이벤트 로그 항목 중 일부에 대해 설명합니다.
구성된 메모리 임계값의 80%에 도달
이벤트 로그 ID | 수준 | Message |
---|---|---|
5192 | 정보 제공 | 커밋된 메모리 양이 수요 시작 제한에 근접하고 있습니다. WAS(Windows Process Activation Service)는 모든 작업자 프로세스의 유휴 시간 제한 값을 감소하기 시작합니다. 작업자 프로세스는 구성된 시간 전에 유휴 상태가 시작될 수 있습니다. 현재 실제 메모리 사용량: '%2' MB, 현재 실제 메모리 사용이 없는 경우: '%3' MB. |
구성된 메모리 임계값의 90%에 도달했습니다.
이벤트 로그 ID | 수준 | Message |
---|---|---|
5193 | 경고 | 커밋된 메모리의 양이 구성된 제한에 가깝거나 가깝습니다. WAS(Windows Process Activation Service)는 작업자 프로세스의 유휴 시간 제한 값을 적극적으로 감소합니다. 작업자 프로세스는 구성된 시간 전에 유휴 상태가 시작될 수 있습니다. 현재 실제 메모리 사용량: '%2' MB, 현재 실제 메모리 사용이 없는 경우: '%3' MB. |
구성된 메모리 임계값의 75%가 다시 회복됨
이벤트 로그 ID | 수준 | Message |
---|---|---|
5194 | 정보 제공 | 커밋된 메모리 양이 높은 부하 수준 아래로 떨어졌으므로 WAS(Windows Process Activation Service)는 작업자 프로세스의 유휴 시간 제한 값을 원래 설정으로 다시 설정합니다. 현재 실제 메모리 사용량: '%2' MB, 현재 실제 메모리 사용이 없는 경우: '%3' MB. |
새 작업자 프로세스 유휴 시간 제한 이벤트 로그 메시지
시스템 중에 작업자 프로세스가 80%~100% dynamicIdleThreshold 범위에 있는 경우 WAS는 다음 이벤트 로그 오류 메시지를 생성합니다. dynamicIdleThreshold 비율이 80%인 경우 이벤트 로그 메시지는 동일하게 유지됩니다<.
이벤트 로그 ID | 수준 | Message |
---|---|---|
5195 | 정보 제공 | 애플리케이션 풀 '%2'을(를) 제공하는 프로세스 ID가 '%1'인 작업자 프로세스가 비활성으로 인해 종료되었습니다. 시스템이 부하가 높고 이 작업자 프로세스의 유휴 시간 제한이 원래 '%3' 분에서 '%4'분으로 감소했습니다. 필요한 경우 새 작업자 프로세스가 시작됩니다. |