2009-10-19 4 views
2

최종 버전 asp.net mvc로 고 부하 솔루션을 개발 중입니다. 최근에 우리 팀은 클라이언트에 응답하기 위해 서버를 사용하는 대부분의 시간이 페이지 렌더링에만 전념한다는 것을 알아 챘습니다. 간단한 시간표는 다음과 같습니다.ASP.NET MVC 뷰 엔진 성능

Page start - 1.8608363s 
Render module 1140/Modules/Owners start  - 1.86859s 
Render module 1140/Modules/Owners Complete - 1.9081751s 
Render module 829/Modules/Links start - 1.9081788s 
Render module 829/Modules/Links Complete  - 2.3380648s 
Render module 1036/Modules/Advertisement start - 2.3459101s 
Render module 1036/Modules/Advertisement Complete - 2.3482298s 
Render module 1110/Modules/Goodies start  - 2.3482322s 
Render module 1110/Modules/Goodies Complete  - 2.6300744s 
Render module 1004/Modules/TopicLinks start  - 2.6300784s 
Render module 1004/Modules/TopicLinks Complete - 3.8852529s 
Render module 1048/Modules/News start - 3.8927697s 
Render module 1048/Modules/News Complete  - 4.4958795s 
Render module 1128/Modules/SuggestedLinks start  - 4.4958832s 
Render module 1128/Modules/SuggestedLinks Complete - 4.5704227s 
Page end  - 4.5711193s 
TopicMainMenuPages start  - 4.5717661s 
TopicMainMenuPages End - 4.571974s 
Render Finished  - 4.6185852s 

이렇게 느린 렌더링이 필요한 이유는 무엇입니까? 한 번 요청하는 동안 부분 렌더링을 자주 사용합니까?

+0

@Daniel가에 자리입니다. 릴리스 모드의 MVC 3에서도 렌더링 부분이 느립니다. 왜 기본 mvc 웹 응용 프로그램 홈 페이지를 동적으로 렌더링하는 데 거의 200ms가 걸렸는지 궁금 해서요. 나는 인터넷 검색을하고이 게시물을 발견했습니다. 이 게시물을 읽은 후 마스터 템플릿에서 Html.RenderPartial 호출을 삭제하고 디버그 모드에서도 렌더링 시간이 2ms로 떨어졌습니다. 성능 문제가있을 때 Html.RenderPartial을 가능성이있는 용의자로 만드는 캐쉬가 좋지 않은 동적 페이지의 경우 – Glenn

답변

5

web.configcompilation debug="false"을 확인하고 애플리케이션을 출시 모드로 빌드하십시오. 이렇게하면 MVC 프레임 워크가 부분 뷰를 위해 해결 한 경로를 캐시 할 수 있습니다.

자세한 내용은 article here을 참조하십시오.

친절,

+0

감사합니다. 그것은 우리에게 평균 2 초의 성능을주었습니다. 다른 모든 것은 BL 모듈에 달려 있습니다. –

+0

도움이되어 기쁘다 :) Dan –

+0

내 페이지가로드되기까지 10 초가 걸리고 이제는 1 초 미만입니다! –