프로세스 격리로 개발 단순화

IIS 초기 버전에서는 ASP를 포함한 모든 ISAPI 응용 프로그램이 서버 프로세스의 리소스와 메모리를 공유했습니다. 이렇게 하면 속도는 빨라지지만 구성 요소가 불안정하여 서버가 중지될 수 있습니다. IIS같은 중요한 응용 프로그램에 있어 서버가 중지되는 일은 결코 있어서는 안됩니다. 설상가상으로 in-process 구성 요소는 서버가 다시 시작되기 전에는 언로드되지 않는 경우도 있습니다. 이것은 기존 구성 요소를 수정하면 업그레이드에 의한 직접적인 영항과 관계없이 동일한 서버를 공유하는 모든 사이트가 영향을 받게 된다는 의미입니다.

구성 요소 서비스와의 밀접한 통합으로 IIS 버전 4.0 이상의 응용 프로그램은 격리된 프로세스로 시작할 수 있습니다. 이렇게 하는 이유로는 다음 두 가지가 있습니다.

  1. 구성 요소 개발: 한 구성 요소를 업데이트할 때 전체 서버를 중지시키는 대신 응용 프로그램 하나만 중지하고 다시 시작할 수 있습니다. IIS 초기 버전에서는 응용 프로그램에 업데이트된 구성 요소를 추가하거나 전체적으로 새로운 응용 프로그램을 추가하려면 웹 서비스를 중단하고 서버 상의 공유 위치에 있는 기존 DLL을 새 버전으로 바꾼 다음 웹 서비스를 다시 시작해야 했습니다. 그러나 이제 격리된 프로세스를 사용하면 모든 응용 프로그램을 중단하지 않고 웹 사이트를 업데이트할 수 있습니다.
  2. 프로세스 격리: 서버가 중단되어도 중단 원인이 된 한 응용 프로그램에만 영향을 미치도록 제한합니다. 기본 웹 서비스가 중지되지 않도록 보호하고 사용자가 원할 때는 언제든지 자동으로 다시 시작하도록 응용 프로그램을 구성할 수 있습니다. 응용 프로그램에 치명적인 오류가 생기면 응용 프로그램 프로세스가 자동으로 종료됩니다. 응용 프로그램은 구성 요소 서비스 시스템 프로세스에서 실행되고 있기 때문에 진행중인 모든 트랜잭션이 중단됩니다. Windows 이벤트 로그는 이벤트 레코드를 저장하고 구성 요소 서비스는 응용 프로그램을 다시 시작합니다. 오류가 발생한 응용 프로그램에 요청을 대기 중인 클라이언트만 영향을 받습니다.

프로세스 격리

별도의 프로세스로 응용 프로그램을 실행하거나 하나의 풀링된 프로세스에 다른 응용 프로그램을 실행하기로 결정하면 홈 디렉터리 또는 가상 디렉터리 속성 시트의 응용 프로그램 보호 드롭다운 목록에서 높음(격리됨) 또는 보통(풀링됨)을 선택해야 합니다. 먼저 응용 프로그램 시작 디렉터리에 대한 응용 프로그램을 작성해야 합니다. 새 프로세스에서 실행될 구성 요소는 적절한 COM 응용 프로그램에 설치되어야 합니다. 자세한 내용은 구성 요소 서비스 설명서를 참조하십시오.


© 1997-2001 Microsoft Corporation. All rights reserved.