programing

IIS의 응용 프로그램 풀이 재활용되는 원인은 무엇입니까?

stoneblock 2023. 6. 18. 10:09

IIS의 응용 프로그램 풀이 재활용되는 원인은 무엇입니까?

나는 이것에 대한 정보를 찾아봤지만 소용이 없었습니다.제가 왜 이것이 필요한지에 대한 맥락은 제가 여기서 질문한 또 다른 질문입니다.보다 구체적으로 App_Data에서 파일을 생성/업데이트/삭제하면 풀이 재활용됩니까?

누군가 재활용의 원인에 대한 자세한 목록을 제공할 수 있다면 좋을 것입니다.

업데이트: 두 명의 사용자가 이미 알고 있듯이 전체 풀이 아닌 AppDomain만 재활용하는 이유를 명시한 답변도 기꺼이 드리겠습니다.

당신이 다른 게시물에서 좋아하던 기사는 실제로 이것을 정말 잘 해냈습니다.

즉시 재활용

  • Web.config 변경 사항
  • Machine.config 변경 사항
  • Global.asax가 변경됩니다.
  • Bin 디렉터리 변경 사항
  • 앱_코드 변경 사항

지연된 재활용

다른 위치에서 여러 번 변경될 경우 발생할 수 있습니다. 일반적으로 .aspx 또는 .cs/.vb 파일이 변경되었을 때만 이 문제를 발견했습니다.임시 텍스트, csv 또는 기타 파일을 추가해도 문제가 발생하지 않습니다.

참고: 이는 모두 앱 도메인 재활용이며 실제 풀의 재활용은 아닙니다.일반적으로 응용 프로그램 풀은 IIS의 설정(요청 수, 메모리 제한, 유휴 시간 또는 예약된 다시 시작)을 기준으로만 재활용됩니다.

두 가지 다른 효과:

  • AppPool 프로세스는 잠재적으로 여러 AppDomain의 호스트입니다.일반적으로 이것은 여러 가지 효과에 의해 재활용될 수 있습니다.시간(n시간마다), 요청 부족, 메모리 사용 등이 IIS Config Manager에서 모두 구성될 수 있습니다.

  • 애플리케이션 루트의 호스트 인스턴스인 AppDomain은 AppPool의 다른 AppDomain에 영향을 주지 않고 더 자주 순환할 수 있습니다.AppDomain 재활용에 대한 Tess의 게시물은 매우 통찰력이 있습니다.

재컴파일을 위해 모니터링되는 폴더에 쓰고 있습니다.그러면 특정 시점에 AppDomain 재생성이 트리거됩니다.

이벤트 로그는 재활용을 시작한 원인을 확인하는 데 도움이 됩니다.

전체 AppPool 재활용 이벤트 로그를 설정할 수 있습니다.

cscript adsutil.vbs Set w3svc/AppPools/DefaultAppPool/LogEventOnRecycle 255 

또한 글로벌 코드 작성 방법을 보여주는 Scott Guthrie 블로그 기사인 http://weblogs.asp.net/scottgu/archive/2005/12/14/433194.aspx 도 볼 수 있습니다.응용 프로그램의 실제 원인을 기록하는 AX.이벤트 종료.

이는 몇 가지 까다로운 문제를 진단하는 데 매우 유용했습니다. 하나는 wwwroot 디렉토리에 로그 파일을 쓰는 앱이었습니다. 파일 변경이 너무 많아 재활용이 발생했습니다.

이 문제는 기본 설정에 따라 매일 발생하거나 프로세스의 최대 가상 메모리를 초과한 경우 발생할 수 있습니다.

실행된 시간(분) 또는 처리된 요청 수에 따라 앱 풀을 재활용하도록 조작할 수 있는 설정입니다.

또한 여기에 게시된 web.config 변경 사항 및 기타 사항을 재활용합니다.

IIS를 재설정하면 서비스를 중지/시작할 수 있습니다.

w3wp.exe오류가 발생했습니다.이것은 원인이 되었습니다.Application_Start호될출에 Global.asax.

이를 확인하기 위해 이벤트 뷰어를 열었습니다.

Windows 로그에서 응용 프로그램으로 이동했습니다.

응용 프로그램 오류가 발생했습니다.

Faulting application name: w3wp.exe, version: 10.0.16299.15, time stamp: 0x0aeb5595
Faulting module name: KERNELBASE.dll, version: 10.0.16299.334, time stamp: 0x6369e29f
Exception code: 0xe0434352
Fault offset: 0x0000000000014008
Faulting process id: 0x2900
Faulting application start time: 0x01d43b16f726cbb9
Faulting application path: c:\windows\system32\inetsrv\w3wp.exe
Faulting module path: C:\WINDOWS\System32\KERNELBASE.dll
Report Id: 998cf55d-2cd9-4b8d-9884-2110e3fd1411
Faulting package full name: 
Faulting package-relative application ID: 

언급URL : https://stackoverflow.com/questions/302110/what-causes-an-application-pool-in-iis-to-recycle