2

asp.net MVC 2 응용 프로그램 (보기 엔진으로 webforms, orm 레이어로 linq2SQl)의 성능 튜닝을하고 있습니다. mvc 미니 프로파일 러를 사용하여 페이지 렌더링을 프로파일 링합니다. 현재 출력 캐시를 사용하고 있지 않습니다.ASP.NET MVC 페이지 렌더링 성능 문제

내 사이트의 거의 모든 페이지에서 약간 이상하게 보입니다. 내가 처음 페이지를 명중 할 때

은 내가 대한 DB를 쿼리 시간의 15ms의 (저장 시저를 호출)이 경우, 렌더링에 대한 200 밀리 걸립니다.

같은 페이지에 대한 이후의 모든 히트는 20ms에 렌더링되며, 쿼리는 약 15ms로 유지됩니다. 따라서이 경우 페이지가 약 6ms으로 렌더링된다고 가정합니다.

나는 약 오분의 페이지를 때리지 마세요 (및 기타 요청이없는)와 나는 이 200ms는 모든 후속 호출을 렌더링하는 데 걸리는 같은 페이지를 명중하는 지금 시도하는 경우 18-20ms의 순서. 또한 IIS 응용 프로그램 풀 재활용이 발생하지 않았 음을 확인했습니다..

MVC 프레임 워크에 어딘가에 몇 분 후에 무효화되고 세밀하게 조정되어야하는 캐시가 있다고 의심됩니다.

아이디어가 있으십니까?

+0

무엇에 대해'<컴파일 디버그 = "진정한"> '설정? debug = true이면 false로 변경하십시오. –

+0

디버그 속성이 기본값이므로 False입니다. –

답변

2

webforms보기 위치의 기본 캐시는 15 분 정도입니다. 당신과 같이이 증가 할 수 있습니다

foreach (var viewEngine in ViewEngines.Engines.OfType<VirtualPathProviderViewEngine>()) 
{ 
    viewEngine.ViewLocationCache = new DefaultViewLocationCache(TimeSpan.FromHours(24)); 
} 

더 자세한 내용은 여기를 사용할 수 있습니다 Web.config의에서 http://weblogs.asp.net/rashid/archive/2009/04/23/asp-net-mvc-view-location-and-performance-issue.aspx

+0

확실히 개선이지만 내 문제를 해결하지 못했습니다, 감사합니다. –