w3wp 자동 시작 옵션

IIS 7.5 이상부터 제공되는 AlwaysRunning기능을 이용한 w3wp.exe 자동 시작

IIS 에서 호스팅되는 w3wp.exe는 클라이언트로부터의 요청이 20분(기본값)동안 없는 경우 스스로 종료하게 되어 있다. 이와 함께 제니퍼 닷넷 에이전트도 내려가기 때문에 제니퍼 콘솔에서는 해당 에이전트가 Stopped로 표시된다.

문제는, Stopped가 실제 응용 프로그램의 오류로 인해 IIS가 강제로 실행되지 못하도록 한 것인지, 20분 동안 요청이 없어서 내려간 것인지에 대한 구분이 없으므로 장애 모니터링을 하는 데 불편하므로, 이를 해결하기 위해 IIS 7.5부터 제공되는 "Start Mode: AlwaysRunning" 기능을 이용한 JenniferPreload.dll을 활용할 수 있다.

2012년 11월 8일 이후 릴리즈 된 제니퍼 닷넷의 IISConfigHelper는 이를 위해 "Web Garden" 우측에 "Enable AutoStart"라는 옵션을 제공한다. 이 옵션은 오직 다음의 조건을 만족하는 경우에만 활성화 된다.

"Enable AutoStart" 옵션을 켜고 "Save" 버튼을 누르면 2가지 변경 사항이 시스템에 적용된다.

  1. "%WINDIR%\system32\inetsrv\config\applicationHost.config" 파일에 AutoStart 관련 옵션 변경

    JenniferPreload.dll 이 실행되도록 설정

  2. 제니퍼의 에이전트 .conf 파일에 startup_url 옵션 변경

    startup_url 키에 w3wp.exe 프로세스가 시작되면서 방문하게 될 페이지에 대한 URL 경로 설정

startup_url 옵션은 기본적으로 http://localhost:[포트번호]로 간단하게 구성되는데, 고객사마다 도메인 명을 특별하게 구성하는 변경이 있다면 그런 경우에만 "제니퍼 콘솔"의 "구성 관리" / "구성 설정" 에서 변경해 준다.