2009-06-06 8 views
3

"고정 된 요청 수"이후에 재활용을위한 IIS의 응용 프로그램 풀 설정이 미치는 영향은 무엇입니까?"고정 된 요청 수"후 응용 프로그램 풀 재활용

이 숫자가 100이고 99 번째 사용자가 내 웹 사이트에 연결되었다고 가정하면 100 번째 사람이 와서 응용 프로그램 풀 재생을 트리거합니다.

세션 1 - 99의 모든 세션 정보가 손실된다는 것을 의미합니까 (응용 프로그램 풀 작업자 프로세스가 다시 시작될 때 프로세스 세션이 만료됩니다)?

답변

4

당신은 기본적으로 맞습니다. 그러나 그것은 사람이 아니라 요구입니다. 응용 프로그램에서 호출되는 각 aspx 페이지가 추가되고 임계 값에 도달하면 응용 프로그램 풀이 재활용되고 응용 프로그램 도메인 (.Net을 사용하는 경우)이 언로드되고 모든 것이 다시 시작됩니다. 세션, 응용 프로그램 및 정적 변수가 모두 손실됩니다. 고전 ASP 또는 PHP를 사용하는 경우 모든 세션 및 전역 변수도 손실됩니다.

히트 임계 값의 수는 과도한 비트입니다. 사용을 중지하거나 거대한 번호로 설정해야합니다. 기본적으로 IIS6 응용 프로그램 풀은 요청이없는 경우 15 분마다 재활용되며 응용 프로그램에서 사용되는 총 메모리에 임계 값을 설정하여 재활용을 트리거 할 수도 있습니다.

+0

IIS에서 작업자 프로세스가 특정 시점에 재활용되도록 설정할 수도 있습니다. 즉, IIS가 재활용하거나 특정 시간에 IIS에 액세스하는 사용자가없는 경우 (즉, 활성 연결 없음)), 작업자 프로세스가 재활용됩니까? – George2

3

꽤 맞습니다. 어떤 종류의 세션 팜이나 세션 정보의 데이터베이스 백업을 사용하지 않으면 응용 프로그램 풀이 재활용 될 때 세션 정보가 손실됩니다. 세션 정보가 필요하지 않으려 고 노력하는 것이 좋습니다. 기본 HTTP의 상태 비 저장 속성과 더 밀접하게 매핑되므로 응용 프로그램의 확장 성 및 안정성이 향상됩니다.

+1

또 다른 질문으로, IIS 작업자 프로세스를 특정 시간에 재활용하도록 설정할 수도 있습니다. 즉, (1) 특정 시간에 IIS가 재활용되거나 특정 사용자가 IIS에 연결하지 않은 경우 (활성 연결 없음), 작업자 프로세스가 재활용됩니까? – George2

+1

IIS는 그 시점에 재활용합니다 - 응용 프로그램 풀이 모든 미해결 요청을 플러시하고 새 요청을 수락하지 않고 중지합니다. 새 요청을 처리하기 위해 동시에 새 인스턴스가 시작됩니다. –

+0

동일한 효과 - 기존의 in-process 세션이 파괴됩니까? – George2

관련 문제