IIS7에는 웹 사이트를 다시 시작하는 것처럼 보이는 많은 작업이 있습니다. 나는 그들이 모두 어떻게 관련되어 있는지 확실하지 않습니다.
- 명령 행에서 iisreset을 실행하십시오.
- 웹 사이트 새로 고침
- 앱 풀을 재활용
- 웹 사이트를 다시 시작
누군가 각자가 무엇을 기쁘게하는지 정확하게 설명 할 수 있습니까?
답변
iisreset 은 World Wide Web Publishing 서비스를 중지했다가 시작합니다. 물론 이것은 모든 응용 프로그램 풀에 적용됩니다. 각 응용 프로그램 풀마다 프로세스가 생성되는 것을 보았습니다. 이 프로세스는 관련된 모든 웹 사이트에 대한 요청을 처리합니다. 응용 프로그램 풀 을 재활용하면 IIS는 요청을 처리하기 위해 새 프로세스 (이전 프로세스 유지)를 만듭니다. 그런 다음 새 프로세스에서 모든 요청을 이동하려고 시도합니다. 시간 초과 후 이전 프로세스는 자동으로 종료됩니다. 일반적으로 응용 프로그램 풀을 재활용하여 누수 된 메모리를 제거합니다 (예약 된 재활용을 권장하지만 정기적 인 작업이 필요한 경우 응용 프로그램에 문제가있을 수 있음). 웹 사이트 를 다시 시작하는 경우, 해당 특정 웹 사이트에 대한 요청 제공을 중지했다가 다시 시작합니다. 동일한 앱 풀에서 다른 웹 사이트를 중단없이 계속 제공 할 것입니다.
세션 지향 응용 프로그램이있는 경우 위의 모든 사항으로 인해 세션 개체가 손실 될 수 있습니다.
웹 사이트 를 새로 고치는 것은 서비스 / 프로세스 / 웹 사이트에 영향을 미치지 않으며 트 리뷰를 새로 고치는 UI 명령 일뿐입니다 (관리 콘솔에 표시되지 않는 디렉토리를 추가했을 수 있음).
답변
다른 두 가지 질문에 대답하려면 :
- 웹 사이트 새로 고침은 서버에서 데이터를 다시로드합니다.
- 웹 사이트를 다시 시작하면 실제로 많은 일을하지 않습니다. 웹 사이트를 중지하면 더 이상 바인딩에 대한 요청을 수신하지 않습니다. 다시 시작하면 다시 듣기 시작합니다. 웹 사이트를 처리하는 프로세스는 영향을받지 않습니다.
답변
iisreset은 전체 웹 서버를 중지하고 시작합니다. 그게 전부입니다. 이런 일이 발생하면 모든 사용자의 연결이 끊어집니다.
응용 프로그램 풀을 재활용하면 해당 풀에있는 응용 프로그램과 관련된 프로세스가 중지되고 시작됩니다. 엄밀히 말하면 웹 사이트와 관련이 없습니다 (해당 응용 프로그램의 활성 콘텐츠 제외).
답변
@Vlad Mucescu는 좋은 대답을했지만 그가 Overlapped Recycling에 대해 말하는 응용 프로그램의 재활용을 설명하는 부분 인 것 같습니다. 두 가지 재활용 유형이 있습니다 : 프로세스 재활용 및 겹친 재활용 ( 소스 MSDN ) :
공정 재활용
작업자 프로세스 격리 모드는 IIS가 작업자 프로세스를 다시 시작하여 웹 응용 프로그램을 자동으로 새로 고치는 프로세스 재활용을 제공합니다. 프로세스 재활용은 문제가있는 응용 프로그램을 원활하게 실행하며 응용 프로그램 코드를 수정할 수없는 경우에 특히 효과적인 솔루션입니다.
재활용 이벤트 발생에 따른 프로세스 재활용은 두 가지 방식으로 발생할 수 있습니다.
현재 응용 프로그램 풀을 제공하는 작업자 프로세스가 종료되면 작업자 프로세스의 부모 프로세스 역할을하는 WWW 서비스 (W3SVC)가 대신 새 프로세스를 다시 시작합니다.
작업자 프로세스가 종료되면 새로운 프로세스가 동시에 시작됩니다. 이러한 유형의 재활용을 중복 재활용이라고합니다. 모든 응용 프로그램 풀의 기본값입니다.
겹친 재활용
중복 된 재활용 시나리오에서 재활용 대상 프로세스는 교체 작업자 프로세스가 동시에 생성되는 동안 나머지 모든 요청을 계속 처리합니다. 이전 작업자 프로세스가 중지되기 전에 새 프로세스가 시작된 다음 요청이 새 프로세스로 전달됩니다. 이 프로세스는 기존 프로세스가 새 프로세스가 성공적으로 초기화 될 때까지 계속 요청을 수락하고 새 프로세스가 요청을 처리 할 준비가 된 후에 만 종료되도록 지시하므로 서비스 지연을 방지합니다.