문제

것으로 나타났에 하나의 프로덕션 웹 앱을 때,나는 수동으로 재활용 앱 수영장,재활용 작업자 프로세스할 수 있습을 60 초 이상 실제적으로 완전히 파괴되고,따라서 그것을보고서 작업 관리자입니다.그러나,경우 응용 프로그램을 중지 수영장,완전히 작업자 프로세스가 거의 즉시 이내에 1~2 초입니다.

그래서 제 질문은 두 가지입니다:

a)왜 그렇게 오래 걸 파괴하는 프로세스(더 의미 있고,놓 사용하는 리소스/잠금해요)때 응용 프로그램이 수영장이 대신 재활용의 중지;고

b)가 나는 중지에서 트래픽을 이동되는 서버가 어떤 이유로든지 않을 정지/시작하는 대신 재생?


편집:
을 명확히 하기 전에 내가 하나 재생 또는 응용 프로그램을 중지 수영장,나는 중지에서 트래픽이 서버로 전송되는 질문에서(서버의 부하 균형을 클러스터,나에서 서버를 제거 load balancer).그래서 이론적으로,없어야 한 요청이 오는 웹 사이트에서 시간을 내가 아무 작업도 수행하 응용 수영장도 있습니다.


부분 편집 Deux:
을 읽은 후 요하난과의 연결,그것은 아주 명백하는 나에게 무슨 일이 일어나고있다.때 나는 재활용 수영장,새로운 프로세스가 시작하지만,없기 때문에서 트래픽을 모든지 등록 새로운 프로세스 작동하지 않도록 종료 이전까지는 제한 시간(90 초)입니다.

으로 하는 지식,그것은 나에게 명확하는"재활용"기능은 특히 의도된 사용되는 중간에 라이브 서버,그리고 그 이후 나는 수동으로 배출 트래픽을 사전에,내가 사용한 시작/정지 대신 합니다.

도움이 되었습니까?

해결책

a) 때문에 겹친 재활용. "오래된"프로세스가 새로운 프로세스가 시작되기를 기다리는 기간이 있습니다.

b) 아니오. 내가 아는 한.

다른 팁

Recycle 내가 올바르게 기억하면 기존의 모든 요청이 완료되면 애플리케이션 풀을 재활용합니다. 정지는 단순히 당신이 그것을 멈추는 정확한 순간에 그것을 끝냅니다.

에 따라 이 링크,

을 중지 –를 중지하여 응용 프로그램 수영장 당신이 지시하는 모든 IIS 작업자 프로세스를 제공 수영장 이 응용 프로그램을 종료 고 방지하는 어떠한 추가 작업자 프로세스에서 시작되는 까지 응용 프로그램이 수영장이 다시 시작했다. 이를 시작하고 우아 종료의 작업자 프로세스,각 작업자 프로세스를 시도하 을 배출하고 그것의 모든 요청이 다음 종료됩니다.

는 경우 작업자 프로세스가 종료 되지 않는 기간 내에 지정 에 의해 shutdownTimeLimit 구성 속에서인 processmodel 요소 각각의 응용 수영장의 정의(기본값:90sec),였 이 강제 종료(이 발생하는 경우 네이티브 디버거 은 첨부).

따라서,정지용 수영장 파괴적인 작업 원인의 언로드 ASP.NET 응용 프로그램 도메인 FastCGI 자식 프로세스 의 손실과 모든 프로세스 응용 프로그램 상태에 있습니다.

재활용 재활용 응용 프로그램 수영장 원인을 현재 실행 중인 모든 IIS 작업자 프로세스에서는 수영장 응용 프로그램을 정상적으로 종료,하지만 달리 중지 수영장,새로운 IIS 작업자 프로세스 시작될 수요에 처리 이후의 요청이 있습니다.

재활용 수영장 좋은 방법이 원인을 다시 설정 응용 프로그램 상태와 모든 구성에 의해 캐시 IIS 작업자 프로세스하지 않는 자동으로 새로 고침(대부분이 글로벌 레지스트리 키),중단 없는 작업의 서버입니다.이 하게 재생하는 응용 프로그램이 수영장 훌륭한 대안이 하려면 대부분의 경우에 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top