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

비밀번호

댓글 작성자
 




... 136  137  138  139  140  141  [142]  143  144  145  146  147  148  149  150  ...
NoWriterDateCnt.TitleFile(s)
1504정성태9/24/201330147.NET Framework: 387. UDP 브로드캐스팅을 이용해 서비스 측의 IP 주소를 구하는 방법 [1]파일 다운로드1
1503정성태9/21/201335318개발 환경 구성: 199. Visual Studio - github 연동 [7]
1502정성태9/21/201338916개발 환경 구성: 198. Visual Studio - git을 이용한 로컬 소스 컨트롤
1501정성태9/21/201346005개발 환경 구성: 197. Visual Studio를 위한 Git 환경 설정 [5]
1500정성태9/20/201345002.NET Framework: 386. C# 버전의 한글 형태소 분석기 [1]파일 다운로드1
1499정성태9/20/201321601개발 환경 구성: 196. Windows Azure - Cloud Service의 인스턴스 타입 변경하는 방법
1498정성태9/20/201327705Windows: 76. 윈도우 8.1 / 서버 2012 R2 마이그레이션 [5]
1497정성태9/20/201359953웹: 28. IE 11로 바꾼 후 발생하는 문제 정리
1496정성태9/20/201332281Windows: 75. 윈도우 8.1, 2012 R2 설치 후 원격 접속이 안 되는 문제
1495정성태9/20/201323411웹: 27. IE 11 - YBM Sisa.com에서 검색된 영단어의 발음 기호가 안 나오는 문제
1494정성태9/13/201333088.NET Framework: 385. Html Agility Pack 소개 - 웹 문서에서 텍스트만 분리하는 방법 [2]파일 다운로드1
1493정성태9/13/201334828.NET Framework: 384. WebClient.DownloadString 문자열 인코딩 문제
1492정성태9/13/201322262오류 유형: 186. The .NET assembly 'Microsoft.Vsa' could not be found.
1491정성태9/9/201325378.NET Framework: 383. RSAParameters의 ToXmlString과 ExportParameters의 결과 비교
1490정성태9/7/201360403기타: 34. 도서: 시작하세요! C# 프로그래밍: 기본 문법부터 실전 예제까지 [7]
1489정성태9/4/201344861오류 유형: 185. 오피스 워드 파일이 저장되지 않는 문제 [2]
1488정성태8/27/201328982.NET Framework: 382. WCF에서 DataSet을 binary encoding으로 직렬화하는 방법파일 다운로드1
1487정성태8/27/201331306개발 환경 구성: 195. 로컬 PC에서의 WCF 통신을 Fiddler로 보는 방법 [1]
1486정성태8/27/201328787.NET Framework: 381. SqlCommand를 이용해 Microsoft SQL 서버의 쿼리 실행 계획을 구하는 방법파일 다운로드1
1485정성태8/26/201332472.NET Framework: 380. 프로세스 스스로 풀 덤프 남기는 방법 [3]파일 다운로드1
1484정성태8/23/201326699제니퍼 .NET: 24. 제니퍼 닷넷 적용 사례 (4) - GZIP 인코딩으로 인한 성능 하락
1483정성태8/23/201326797.NET Framework: 379. System.IO.MemoryStream, ArraySegment<T> 의 효율적인 사용법 [1]
1482정성태8/23/201320281.NET Framework: 378. Java / C# - 정수의 부호 유무에 따른 16진수 문자열 변환
1481정성태8/22/201321119오류 유형: 184. PaaS 유형(Cloud Services)의 Azure VM에 연결할 때 계정 만료 에러가 발생하는 경우
1480정성태8/22/201337780개발 환경 구성: 194. 윈도우 서버의 80 포트에 대한 port forwarding 설정 방법파일 다운로드1
1479정성태8/14/201325090오류 유형: 183. IIS - 바인딩 추가 시 Object reference not set to an instance of an object 오류 [5]
... 136  137  138  139  140  141  [142]  143  144  145  146  147  148  149  150  ...