작성자: 월터 올리버
소개
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 | Informational | 커밋된 메모리 양이 수요 시작 제한에 근접하고 있습니다. 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 | Informational | 커밋된 메모리 양이 높은 부하 수준 아래로 떨어졌으므로 WAS(Windows Process Activation Service)는 작업자 프로세스의 유휴 시간 제한 값을 원래 설정으로 다시 설정합니다. 현재 실제 메모리 사용량: '%2' MB, 현재 실제 메모리 사용 없음: '%3' MB. |
새 작업자 프로세스 유휴 시간 제한 이벤트 로그 메시지
시스템이 80%에서 100% 사이의 dynamicIdleThreshold 범위에서 작동 중일 때 작업자 프로세스가 타임아웃되면 WAS는 다음 이벤트 로그 오류 메시지를 기록합니다. dynamicIdleThreshold 백분율이 80%경우 이벤트 로그 메시지는 동일하게 유지됩니다<.
| 이벤트 로그 ID | 수준 | Message |
|---|---|---|
| 5195 | Informational | 프로세스 ID가 '%1'서비스 애플리케이션 풀 '%2'인 작업자 프로세스가 비활성으로 인해 종료되었습니다. 시스템이 부하가 높고 이 작업자 프로세스의 유휴 시간 제한이 원래 '%3' 분에서 '%4' 분으로 감소했습니다. 필요한 경우 새 작업자 프로세스가 시작됩니다. |