“종료 중 응용 프로그램 풀이 시간 제한을 초과했습니다”의 원인은 무엇입니까? 500 오류가 무작위로 발생하는 웹 사이트가 있습니다

500 오류가 무작위로 발생하는 웹 사이트가 있습니다 (일반적으로 몇 시간마다 한 번씩). 이벤트보기를 확인한 후 다음 오류가 표시됩니다.

애플리케이션 풀 ‘ xxxxxxx ‘를 처리하는 프로세스가 종료하는 동안 시간 제한을 초과했습니다. 프로세스 ID는 ‘xxxx’입니다.

문제를 해결하기 위해이 문제의 잠재적 원인이 무엇인지 궁금합니다.



답변

각 웹 사이트 (및 잠재적으로 각 웹 응용 프로그램)는 IIS가 호스팅 프로세스의 구성을 보유하는 응용 프로그램 풀에 연결되어 있습니다.

이러한 속성 중 몇 가지는 프로세스 재활용 방법 (종료 및 재시작)과 관련이 있습니다. 기본적으로 각 응용 프로그램은 1740 분 (29 시간)마다 종료되지만 “ping”(실제로 상태 모니터링 비트)에 응답하지 않으면 20 분 동안 사용하지 않는 경우 (기본적으로) 재활용 할 수도 있습니다. . 다른 제한은 관리자가 설정할 수 있습니다.

응용 프로그램이 재활용되면 컨테이너 프로세스가 종료됩니다. 제대로 종료되는 데 기본적으로 90 초가 걸리거나 강제로 닫힙니다.

따라서 문제의 원인은 웹 앱의 재활용 제한 중 하나에 도달하여 IIS가 종료하려고 시도하기 때문입니다. 불행히도 응용 프로그램이 제 시간에 종료되지 않아 (임시) 오류 500이 발생합니다.

또 다른 측면이 있습니다. 응용 프로그램이 “실패”(즉, 서버 오류를 다시 보냅니다)를 5 분 동안 5 번 이상 (기본적으로) 반복하면 IIS에 의해 종료되고 수동으로 다시 시작할 때까지 종료됩니다 그것.

이 모든 것은 응용 프로그램 코드의 오류를 나타냅니다. 해당 코드의 공급 업체에 문의하면 정확한 문제를 진단하는 데 도움이됩니다.