IIS : 유휴 시간 초과 대 재활용


97

IIS에는 재활용이 발생할 수있는 두 가지 영역 (2 개 이상)이 있습니다.

  1. "프로세스 모델"섹션에서 → "유휴 시간 초과"(기본값 20 분)

  1. "재활용"섹션에서 → "정기 시간 간격"(기본값 1740 분)

내 질문은 다음과 같습니다.

  1. 두 방법의 차이점은 무엇입니까?
  2. 0으로 설정하면 부정적인 의미는 무엇입니까?

답변:


97

유휴 시간 제한은 웹 앱에서 작업을 요청하지 않은 경우 프로세스가 메모리에서 모든 것을 삭제하고 해제합니다.

재활용은 메모리 누수 및 시스템 상태를 위해 처리를 닫았다가 다시 시작하는 애플리케이션에 대한 강제 조치입니다.

둘 다의 부정적인 영향은 일반적으로 Recycle을 더 빠른 시간으로 엉망으로 만들면 세션 및 애플리케이션 상태의 사용이 손실된다는 것입니다. (로그인 한 사용자 등은 로그 아웃됩니다. 잃어버린 "그래서 재활용이 그렇게 큰 시간 초과 값에 있고, 유휴 시간 초과는 문제가되지 않습니다. 어차피 아무도 로그인하지 않았기 때문에 20 분은 여전히"쇼핑 "이 아닌 액션이 없다고 생각합니다.

긍정적 인 점은 웹 사이트가 20 분마다 1 명의 사용자가있는 경우로드 될 때까지 기다려야하는 매우 활동적인 사이트가 아닌 경우 웹 사이트가 "첫 번째"응답에 더 빠르게 응답하므로 유휴 시간 초과를 제거하는 것입니다. 말하다. 따라서 20 분에 1 회 미만의 웹 사이트는 실제로 웹 사이트가 각 사용자에 대해 처음부터 다시로드되어야하므로이 값을 높이고 싶을 것입니다. 그러나 이것을 오랫동안 0으로 설정하면 코드의 메모리 누수가 일정 시간 동안 서버를 완전히 차지할 수 있습니다.


감사! 말이 되네요. 나의 주요 딜레마는 "첫 번째로드"가 매우 오래 걸린다는 것입니다. 이 두 가지를 모두 0으로 설정하면 우회 할 수 있다고 생각했습니다. 그러나 메모리 누수 문제가 문제입니다. "재활용"방법이 있지만 "처음 액세스"가 끝나고 재활용 직후에 완료되도록 요청을 "강제"하는 방법이 있습니까? 또는 재활용을 오전 2시에 예약 한 다음 "처음 액세스"를 오전 2시 30 분에 예약 하시겠습니까? IIS에 그렇게 할 수있는 방법이 있습니까?
Ricky

@Ricky 나는 첫 번째 히트 테이크 연령 문제도 받고있었습니다. 응용 프로그램 풀 startMode를 AlwaysRunning으로 설정해야합니다. msdn.microsoft.com/en-us/library/ee677285%28v=azure.10%29.aspx
Steve Hibbert

이것은 나에게도 유용했습니다 : simple-talk.com/blogs/2013/03/05/…
Steve Hibbert

3
@Silvermind-세션이 프로세스에 저장되어 있으면 재활용시 복사되지 않습니다. 를 참조하십시오 여기 .
BornToCode

31

에서 여기 :

시스템 리소스를 절약하는 한 가지 방법은 응용 프로그램 풀의 작업자 프로세스에 대한 유휴 시간 제한 설정을 구성하는 것입니다. 이러한 설정이 구성되면 작업자 프로세스는 지정된 비활성 기간 후에 종료됩니다. 유휴 시간 제한의 기본값은 20 분입니다.

IIS 기본 앱 풀 재활용이 1740 분으로 설정된 이유 도 확인하십시오 .

서버에 사이트가 몇 개만 있고 항상 빠르게로드되도록하려면이 값을 0으로 설정하십시오. 그렇지 않으면 트래픽이없는 20 분 동안 앱 풀이 종료되어 다음 방문시 다시 시작할 수 있습니다. 문제는 앱 풀을 처음 방문 할 때 새로운 w3wp.exe 작업자 프로세스를 만들어야한다는 것입니다.이 프로세스는 앱 풀을 만들어야하고 ASP.NET 또는 다른 프레임 워크를로드해야하기 때문에 속도가 느립니다. 로드됩니다. 몇 초 정도 걸릴 수 있습니다. 따라서 항상 실행될 필요가없는 많은 사이트를 호스팅하는 서버가 아니라면 모든 기회를 0으로 설정했습니다.


6

IIS는 이제

Idle Time-out Action : Suspend 환경

일시 중단은 프로세스를 동결시키는 것이며 프로세스를 파괴하는 것보다 훨씬 효율적입니다.


0

IIS에서 일련의 웹 서비스를 호출하는 데스크톱 앱을 상속 받았습니다. 웹 서비스 (또한)는 시간이 지정된 프로세스를 독립적으로 (클라이언트를 켜지 않고) 실행할 수 있어야합니다. 따라서 그들은 모두 타이머가 있습니다. 웹 서비스 타이머가 종료되었으므로 (메모리 누수?) 유휴 시간 제한을 0으로 설정하고 타이머는 계속 켜져 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.