Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 
(연관된 글이 2개 있습니다.)
(시리즈 글이 7개 있습니다.)
.NET Framework: 174. 작업자 프로세스(w3wp.exe)가 재시작되는 시점을 알 수 있는 방법
; https://www.sysnet.pe.kr/2/0/841

.NET Framework: 447. w3wp.exe AppPool 재생(recycle)하는 방법 정리
; https://www.sysnet.pe.kr/2/0/1704

개발 환경 구성: 246. IIS 작업자 프로세스의 20분 자동 재생(Recycle)을 끄는 방법
; https://www.sysnet.pe.kr/2/0/1774

.NET Framework: 643. 작업자 프로세스(w3wp.exe)가 재시작되는 시점을 알 수 있는 방법 - 두 번째 이야기
; https://www.sysnet.pe.kr/2/0/11145

개발 환경 구성: 702. IIS - AppPool의 "Disable Overlapped Recycle" 옵션
; https://www.sysnet.pe.kr/2/0/13514

닷넷: 2196. IIS - AppPool의 "Disable Overlapped Recycle" 옵션의 부작용
; https://www.sysnet.pe.kr/2/0/13516

닷넷: 2274. IIS - (프로세스 종료 없는) AppDomain Recycle
; https://www.sysnet.pe.kr/2/0/13672




IIS 작업자 프로세스의 20분 자동 재생(Recycle)을 끄는 방법

IIS는 w3wp.exe에 대해 20분 동안 해당 작업자 프로세스(Worker Process)에서 호스팅하고 있는 웹 응용 프로그램에 요청이 없으면 프로세스(EXE)를 내리게 되어 있습니다.

그 후, 요청이 오면 다시 w3wp.exe를 올리고 웹 응용 프로그램 호스팅 환경을 초기화한 후 응답을 내게 됩니다. 예전의 ASP 환경이나 C++ ISAPI 환경에서라면 이것이 매우 빠르게 진행되어 별 영향이 없었지만, JIT 컴파일을 요하는 .NET 환경으로 웹 응용 프로그램이 만들어지면서 초기 로딩 속도가 문제가 되기 시작했습니다.

이에 따라 IIS 7.5부터는 "웹 사이트 자동 시작 모드"가 추가되었고,

IIS 7.5 부터 지원되는 웹 사이트 자동 시작 모드
; https://www.sysnet.pe.kr/2/0/1367

IIS 8.0부터는 아예 "Application Initialization" 기능을 내장하게 됩니다.

IIS 8.0 Application Initialization 
; http://www.iis.net/learn/get-started/whats-new-in-iis-8/iis-80-application-initialization

그런데, 이 방법들 말고도 IIS로 하여금 20분마다 작업자 프로세스 재생을 하지 않도록 설정하는 기능도 있습니다. 방법이 매우 간단한데요.

다음과 같이 "Process Model" 범주의 "Idle Time-out (minutes)" 값(기본: 20)을 0으로 만들어 버리는 것입니다.

prevent_iis_from_recycling_1.png

그런데, 이렇게 해도 하루 정도가 지나면 여전히 재생이 됩니다. 왜냐하면 1740분(29시간)마다 재생하도록 만드는 설정이 있기 때문인데요. 이를 해제하려면 다음과 같이 "Regular Time Interval (minutes)" 값(기본: 1740)을 0으로 만들어야 합니다.

prevent_iis_from_recycling_2.png

그 외에 좀 더 다양한 설정 지침은 다음의 블로그를 참조하시면 되겠습니다.

IIS Best Practices
; http://blogs.msdn.com/b/cenkiscan/archive/2012/06/20/iis-best-practices.aspx




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]

[연관 글]






[최초 등록일: ]
[최종 수정일: 7/10/2021]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




1  2  3  4  5  6  [7]  8  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
13832정성태11/27/20246826Windows: 274. Windows 7부터 도입한 conhost.exe
13831정성태11/27/20245730Linux: 111. eBPF - BPF_MAP_TYPE_PERF_EVENT_ARRAY, BPF_MAP_TYPE_RINGBUF에 대한 다양한 용어들
13830정성태11/25/20247965개발 환경 구성: 736. 파이썬 웹 앱을 Azure App Service에 배포하기
13829정성태11/25/20247975스크립트: 67. 파이썬 - Windows 버전에서 함께 설치되는 py.exe
13828정성태11/25/20246113개발 환경 구성: 735. Azure - 압축 파일을 이용한 web app 배포 시 디렉터리 구분이 안 되는 문제파일 다운로드1
13827정성태11/25/20247142Windows: 273. Windows 환경의 파일 압축 방법 (tar, Compress-Archive)
13826정성태11/21/20247453닷넷: 2313. C# - (비밀번호 등의) Console로부터 입력받을 때 문자열 출력 숨기기(echo 끄기)파일 다운로드1
13825정성태11/21/20248681Linux: 110. eBPF / bpf2go - BPF_RINGBUF_OUTPUT / BPF_MAP_TYPE_RINGBUF 사용법
13824정성태11/20/20246041Linux: 109. eBPF / bpf2go - BPF_PERF_OUTPUT / BPF_MAP_TYPE_PERF_EVENT_ARRAY 사용법
13823정성태11/20/20247827개발 환경 구성: 734. Ubuntu에 docker, kubernetes (k3s) 설치
13822정성태11/20/20247830개발 환경 구성: 733. Windbg - VirtualBox VM의 커널 디버거 연결 시 COM 포트가 없는 경우
13821정성태11/18/20247422Linux: 108. Linux와 Windows의 프로세스/스레드 ID 관리 방식
13820정성태11/18/20248045VS.NET IDE: 195. Visual C++ - C# 프로젝트처럼 CopyToOutputDirectory 항목을 추가하는 방법
13819정성태11/15/20245805Linux: 107. eBPF - libbpf CO-RE의 CONFIG_DEBUG_INFO_BTF 빌드 여부에 대한 의존성
13818정성태11/15/20248185Windows: 272. Windows 11 24H2 - sudo 추가
13817정성태11/14/20246853Linux: 106. eBPF / bpf2go - (BPF_MAP_TYPE_HASH) Map을 이용한 전역 변수 구현
13816정성태11/14/20248279닷넷: 2312. C#, C++ - Windows / Linux 환경의 Thread Name 설정파일 다운로드1
13815정성태11/13/20246309Linux: 105. eBPF - bpf2go에서 전역 변수 설정 방법
13814정성태11/13/20247241닷넷: 2311. C# - Windows / Linux 환경에서 Native Thread ID 가져오기파일 다운로드1
13813정성태11/12/20248232닷넷: 2310. .NET의 Rune 타입과 emoji 표현파일 다운로드1
13812정성태11/11/202411886오류 유형: 933. Active Directory - The forest functional level is not supported.
13811정성태11/11/20246858Linux: 104. Linux - COLUMNS 환경변수가 언제나 80으로 설정되는 환경
13810정성태11/10/20248438Linux: 103. eBPF (bpf2go) - Tracepoint를 이용한 트레이스 (BPF_PROG_TYPE_TRACEPOINT)
13809정성태11/10/20247691Windows: 271. 윈도우 서버 2025 마이그레이션
13808정성태11/9/20248289오류 유형: 932. Linux - 커널 업그레이드 후 "error: bad shim signature" 오류 발생
13807정성태11/9/20246340Linux: 102. Linux - 커널 이미지 파일 서명 (Ubuntu 환경)
1  2  3  4  5  6  [7]  8  9  10  11  12  13  14  15  ...