저는 약 25 개의 컨트롤러, 많은 지원 클래스 (주로 컨트롤러의 코드에 일부 처리 도움을 제공하는 정적 함수 포함)가있는 .Net MVC 프로젝트가 있습니다. 그런 다음 컨트롤러에 대한 호출을 통해 출력되는 약 100 개의 뷰가 있으며 컨트롤러에 대한 요청을 통해 어떤 기능이 요청되었는지에 따라 다릅니다..Net MVC 메모리 관리 및 성능 향상 - 슈퍼 큰 컨트롤러
이제 각 컨트롤러에는 수천 줄의 코드가 포함되어 있습니다. 내 이해 컨트롤러 인스턴스가 모든 요청에 대해 만들어지고 이것이 내 우려의 원인입니다. 컨트롤러에 대한 모든 HTTP 호출에 대해 수천 줄의 코드 행을 포함하는 객체를 인스턴스화해야하는 경우 이는 주요 성능 문제 일 수 있습니다.
질문 1) 각 컨트롤러 개체 인스턴스에 해당 수천 줄의 소스 코드 바이트 코드 복사본이 포함되어 있다고 가정합니다. 2) 컨트롤러를 더 작은 컨트롤러로 나누는 것이 코드를 더 효율적으로 만들겠습니까? (이전 컨트롤러 메소드를 가리키는 URL도 브라우저 측 javascript에서 변경해야하기 때문에 이것은 중요한 작업이 될 수 있습니다). 3) 성능을 최적화하기위한 다른 제안 사항은 무엇입니까?
미리 감사드립니다.
라이브 응용 프로그램에서 성능 및 병목 현상에 대한 더 자세한 정보를 얻을 수있는 프로파일 러가 있습니까? –
예, 100 % 하중을가하십시오. 그런 다음 디버거를 10 번 일시 중지하십시오. 그것은 가장 뜨거운 코드에서 대부분 멈출 것입니다. 그렇지 않으면 구입할 .NET 프로파일 러가 있습니다. – usr