IIS에는 재활용이 발생할 수있는 두 가지 영역 (2 개 이상)이 있습니다.
- "프로세스 모델"섹션에서 → "유휴 시간 초과"(기본값 20 분)
과
- "재활용"섹션에서 → "정기 시간 간격"(기본값 1740 분)
내 질문은 다음과 같습니다.
- 두 방법의 차이점은 무엇입니까?
- 0으로 설정하면 부정적인 의미는 무엇입니까?
답변:
유휴 시간 제한은 웹 앱에서 작업을 요청하지 않은 경우 프로세스가 메모리에서 모든 것을 삭제하고 해제합니다.
재활용은 메모리 누수 및 시스템 상태를 위해 처리를 닫았다가 다시 시작하는 애플리케이션에 대한 강제 조치입니다.
둘 다의 부정적인 영향은 일반적으로 Recycle을 더 빠른 시간으로 엉망으로 만들면 세션 및 애플리케이션 상태의 사용이 손실된다는 것입니다. (로그인 한 사용자 등은 로그 아웃됩니다. 잃어버린 "그래서 재활용이 그렇게 큰 시간 초과 값에 있고, 유휴 시간 초과는 문제가되지 않습니다. 어차피 아무도 로그인하지 않았기 때문에 20 분은 여전히"쇼핑 "이 아닌 액션이 없다고 생각합니다.
긍정적 인 점은 웹 사이트가 20 분마다 1 명의 사용자가있는 경우로드 될 때까지 기다려야하는 매우 활동적인 사이트가 아닌 경우 웹 사이트가 "첫 번째"응답에 더 빠르게 응답하므로 유휴 시간 초과를 제거하는 것입니다. 말하다. 따라서 20 분에 1 회 미만의 웹 사이트는 실제로 웹 사이트가 각 사용자에 대해 처음부터 다시로드되어야하므로이 값을 높이고 싶을 것입니다. 그러나 이것을 오랫동안 0으로 설정하면 코드의 메모리 누수가 일정 시간 동안 서버를 완전히 차지할 수 있습니다.
에서 여기 :
시스템 리소스를 절약하는 한 가지 방법은 응용 프로그램 풀의 작업자 프로세스에 대한 유휴 시간 제한 설정을 구성하는 것입니다. 이러한 설정이 구성되면 작업자 프로세스는 지정된 비활성 기간 후에 종료됩니다. 유휴 시간 제한의 기본값은 20 분입니다.
IIS 기본 앱 풀 재활용이 1740 분으로 설정된 이유 도 확인하십시오 .
서버에 사이트가 몇 개만 있고 항상 빠르게로드되도록하려면이 값을 0으로 설정하십시오. 그렇지 않으면 트래픽이없는 20 분 동안 앱 풀이 종료되어 다음 방문시 다시 시작할 수 있습니다. 문제는 앱 풀을 처음 방문 할 때 새로운 w3wp.exe 작업자 프로세스를 만들어야한다는 것입니다.이 프로세스는 앱 풀을 만들어야하고 ASP.NET 또는 다른 프레임 워크를로드해야하기 때문에 속도가 느립니다. 로드됩니다. 몇 초 정도 걸릴 수 있습니다. 따라서 항상 실행될 필요가없는 많은 사이트를 호스팅하는 서버가 아니라면 모든 기회를 0으로 설정했습니다.