2010-07-19 5 views
4

IIS6 Win2003에 웹 응용 프로그램이 있습니다. 이 응용 프로그램은 w3wp.exe 프로세스에 연결되어 3-4 분 후에 CPU의 50-70 %에 도달하여 재활용되었습니다 (강제 실행). 이 프로젝트에서 Cache가있는 곳이 거의 없기 때문에 AppPool의 재활용 제한을 설정하면 문제가 발생합니다. 몇 년 동안 걸릴 수있는 원인을 찾지 못하면 높은 CPU 과부하를 피하기 위해 프로세스가 몇 분마다 재활용됩니다 ...응용 프로그램 풀이 재생 될 때 캐시는 어떻게됩니까?

웹 응용 프로그램 프로젝트, 출력 캐시 및 캐시를 사용하는 캐시에는 두 가지 유형이 있습니다.

일단 응용 프로그램을 재활용하면 어떻게됩니까?

그 중 2 명은 삭제했는데, 응용 프로그램 풀을 재활용하더라도이 둘을 계속 유지하려면 어떻게해야합니까?

답변

1
당신이 과정 캐싱 밖으로 볼 수 있었다

, 즉

는 속도 (마이크로 소프트 AppFabric) 또는 SharedCache (오픈 소스)를 살펴 보라

을 응용 프로그램 풀을 다시 시작 살아남을 것입니다 및 다중 노드 응용 프로그램에서 공유 할 수
6

캐시는 응용 프로그램 도메인의 일부이므로 응용 프로그램 풀을 재활용하면 모든 캐시 항목이 무효화됩니다.

이는 web.config 파일 또는 bin 폴더를 수정하는 경우에도 발생합니다.

+0

입력에 감사하지만 두 번째 질문은 첫 번째 것보다 훨씬 많은 관심을가집니다. – eugeneK

+0

"그들을 살아있게"할 수는 없습니다. 코드는 캐시가 항목이 있는지 확인하거나 그렇지 않은 경우 캐시 된 항목을 생성해야합니다. 즉, 응용 프로그램에 처음 액세스 할 때 이후 액세스보다 느려집니다. 이 방법은 없습니다. –

+0

Philip Smith, MemCached와 같은 외부 리소스에 Cache를 저장하지 않는 한? – eugeneK

관련 문제