ASP.NET 작업자 프로세스

ASP.NET은 ASP.NET 작업자 프로세스로 알려진 프로세스에서 실행됩니다. 모든 ASP.NET 기능은 이 프로세스 범위 내에서 실행됩니다.

보통 웹 서버에는 하나의 ASP.NET 작업자 프로세스만 포함되어 있습니다. 이것이 웹 팜 및 웹 가든과의 차이점입니다.

  • 웹 팜에는 여러 ASP.NET 작업자 프로세스가 포함되어 있습니다.

    서버 그룹의 각 서버에서 개별 ASP.NET 작업자 프로세스를 처리합니다.

  • 웹 가든에는 여러 ASP.NET 작업자 프로세스가 포함되어 있습니다.

    SMP 서버의 각 CPU에서 개별 ASP.NET 작업자 프로세스를 처리합니다.

ASP.NET 작업자 프로세스 선택

웹 클라이언트가 웹 팜 또는 웹 가든에 연결되면 여러 ASP.NET 작업자 프로세스 중 하나가 선택되어 요청을 실행합니다.

  • 웹 팜에서는 네트워크 로드 균형 조정에 의해 ASP.NET 작업자 프로세스가 선택됩니다.
  • 웹 가든에서는 ASP.NET에 의해 ASP.NET 작업자 프로세스가 선택됩니다.

여러 ASP.NET 작업자 프로세스를 사용한 상태 관리

하나의 ASP.NET 작업자 프로세스(일반 웹 서버)가 있는 시나리오에서 여러 ASP.NET 작업자 프로세스가 있는 시나리오(웹 팜 또는 웹 가든)로 변경하는 경우 상태 관리 문제가 발생합니다.

웹 페이지에는 상태가 저장되지 않으므로 웹 서버에서 다른 수단을 통해 상태를 유지해야 합니다. 웹 서버에서 상태를 관리하기 위한 일반적인 방법에는 세션 상태 및 ASP.NET Cache가 있습니다.

Note참고

단일 웹 서버 내의 상태 및 상태 유지에 대한 문제는 "Crystal Reports에 사용할 상태 유지 방식 선택" 부분에서 상세하게 설명됩니다.

Session 및 Cache는 모두 하나의 ASP.NET 작업자 프로세스의 메모리 공간에 포함됩니다. 그러나 웹 팜 또는 웹 가든에서는 여러 ASP.NET 작업자 프로세스가 동시에 작동됩니다. 개별 ASP.NET 작업자 프로세스의 Session 또는 Cache에서는 여러 프로세스에 대한 상태를 관리할 수 없습니다.

따라서 상태 관리를 위한 추가 계층, 즉 웹 팜 또는 웹 가든의 각 ASP.NET 작업자 프로세스에 대한 상태 정보를 저장하고 검색하는 Out-of-process 세션 상태 서버가 필요합니다. "Out-of-Process 세션 상태"를 참조하십시오.