IIS: 아이돌타임아웃과 재활용
IIS 에서는, 다음의 2개의 영역(복수 가능)이 있습니다.
- "프로세스 모델" 섹션 → "아이돌 시간 초과"(기본값 20분)
그리고.
- "Recycle" 섹션 → "Regular Time Interval"(기본값 1740분)에서
질문은 다음과 같습니다.
- 두 방법의 차이점은 무엇입니까?
- 이 값을 0으로 설정하면 어떤 부정적인 영향이 있습니까?
아이돌 타임아웃이란 웹 어플리케이션에서 액션이 요구되지 않은 경우 프로세스가 메모리에서 모든 것을 드롭하고 해방합니다.
재활용은 메모리 누수 및 시스템 상태를 위해 처리된 응용 프로그램을 닫았다가 다시 시작하는 강제 작업입니다.
두 가지 모두 부정적인 영향은 일반적으로 재활용 시간을 단축하면 세션 및 응용 프로그램 상태 사용이 손실된다는 것입니다.(사용자 등에 로그인하면 로그아웃이 됩니다.'체크아웃'을 앞둔 모든 것을 잃게 됩니다.따라서 재활용이 타임아웃 값이 큰 이유는 아무도 로그인하지 않았기 때문에 아이돌타임아웃은 문제가 되지 않습니다.또, 20분간의 조작은 아직 「체크아웃」되지 않았습니다.
예를 들어, 20분마다 1명의 사용자가 로딩될 때까지 사용자가 기다릴 필요가 없는 매우 활동적인 사이트가 아니라면 웹 사이트가 "첫 번째" 응답으로 더 빨리 응답하므로 유휴 시간 초과를 없앨 수 있습니다.따라서 20분 동안 1회 미만이 되는 웹 사이트에서는 각 사용자의 웹 사이트가 처음부터 다시 로드되어야 하므로 이 값을 늘려야 합니다.그러나 이 값을 0으로 설정하면 일정 시간 동안 코드의 메모리 누수가 발생하면 서버가 완전히 점유될 수 있습니다.
여기서부터:
시스템 리소스를 절약하는 방법 중 하나는 애플리케이션 풀의 워커 프로세스에 아이돌타임아웃 설정을 설정하는 것입니다.이러한 설정이 설정되어 있는 경우, 지정한 기간 동안 비활성 상태가 되면 워커 프로세스가 셧다운됩니다.아이돌 타임아웃 기본값은 20분입니다.
또한 IIS 기본 앱 풀 재활용이 1740분으로 설정된 이유를 확인하십시오.
서버에 몇 개의 사이트만 있고 항상 빠르게 로드하려면 이 값을 0으로 설정하십시오.그렇지 않으면 트래픽이 없는 20분이면 앱 풀이 종료되어 다음 방문 시 다시 시작할 수 있습니다.문제는 앱 풀을 처음 방문했을 때 새로운 w3wp.exe 워커 프로세스를 생성해야 한다는 것입니다.이 프로세스는 앱 풀인 ASP를 생성해야 하기 때문에 속도가 느립니다.NET 또는 다른 프레임워크를 로드한 후 응용 프로그램을 로드해야 합니다.몇 초 정도 걸릴 수 있습니다.따라서 많은 사이트를 호스트하는 서버가 항상 실행할 필요가 없는 경우를 제외하고 기회가 있을 때마다 이 값을 0으로 설정합니다.
IIS에는 현재
Idle Time-out Action : Suspend
일시정지는 프로세스를 정지시킬 뿐이며 프로세스를 파괴하는 것보다 훨씬 효율적입니다.
IIS에서 일련의 웹 서비스를 호출하는 데스크톱 앱을 상속했습니다.웹 서비스(또한)는 (클라이언트를 켜지 않고) 독립적으로 타이밍이 지정된 프로세스를 실행할 수 있어야 합니다.그렇기 때문에 모두 타이머가 있습니다.웹 서비스 타이머가 셧다운(메모리 누수?)되고 있었기 때문에 아이돌타임아웃을 0으로 설정하고 타이머를 온으로 유지했습니다.
언급URL : https://stackoverflow.com/questions/19985710/iis-idle-timeout-vs-recycle
'programing' 카테고리의 다른 글
| "PowerShell 호스트를 초기화하지 못했습니다"로 인해 nuget 패키지를 설치할 수 없습니다. (0) | 2023.04.22 |
|---|---|
| 다른 열의 값을 기반으로 새 열 생성/팬더에서 여러 열의 함수를 적용 (0) | 2023.04.22 |
| 현재 작업 디렉토리를 Bash 스크립트 디렉토리로 설정하려면 어떻게 해야 합니까? (0) | 2023.04.22 |
| Windows에서 Bash 스크립트를 실행하는 방법이 있습니까? (0) | 2023.04.22 |
| Scala에서의 Seq와 리스트의 차이 (0) | 2023.04.22 |