예제 - asp.net 이란



Visual Studio 2010/Resharper/ASP.NET MVC에서 컴파일 및 단위 테스트 속도 향상 (4)

그 크기 해결책을 위해, 당신의 하드웨어는 괜찮아 보이고 빌드 테스트에 충분히 빠를 것 같습니다. 내가 찾은 것은 대부분의 빌드 성능 문제 (필자의 경우 어쨌든)는 프로젝트 종속성과 관련이 있으며 실제 컴파일 시간과 관련이 없다는 것입니다. 문제를 발견하는 데 도움이되는 몇 가지 아이디어가 있습니다.

  1. "MSBuild project build output verbosity"를 "Diagnostic"(Options-> Projects and Solutions-> Build and Run)으로 돌리고 VSCommands 확장 (각 단계에서 걸린 시간을 보여주는 빌드 통계 확장을 포함)을 설치하고 가장 많은 시간을 말하고있는 것은 무엇입니까?

  2. GAC에서 다른 프로젝트 (당신이 참조하는 35)에 대한 의존성이 있습니까, 아니면 당신의 HD를 통해 분산되어 있습니까? 참조를 자동 새로 고치습니까 (밑에 .refresh 파일이 있는지). Maay는 이러한 종속성의 해결을 단순화하려고합니다. 즉, 모든 DLL을 bin 디렉토리에 복사하고 도움이되는지 확인하십시오.

https://src-bin.com

Visual Studio 2010 및 Resharper를 사용하여 중간 크기의 ASP.NET MVC 솔루션을 개발하고 있습니다. 1 년 반 전에 개발을 시작했을 때 프로젝트는 빠르게 타 오르고 있었지만 시간이 지남에 따라 컴파일 작업뿐만 아니라 ASP.NET이 웹 사이트를 다시 초기화하는 데 걸리는 시간도 점차 느려졌습니다. TDD 및 리팩토링을 매우 자주 연습하고 있으므로 자주 테스트를 다시 컴파일해야하므로 가능한 경우이를 완화 할 수있는 방법을 찾고 있습니다.

세부적인 문제

프로젝트를 다시 컴파일하기 시작한 후 웹 브라우저에서 결과를 볼 수있는 데 약 20-25 초가 소요됩니다.

Resharper 테스트 러너를 사용하여 단일 단위 테스트 (전체 제품군이 아닌 단일 테스트 만 실행)도 매우 느립니다 (약 15-20 초). 이상한 이유로 Resharper는 테스트 실행을 초기화하는 데 대부분의 시간이 걸리고 실제로 테스트를 실행하는 아주 작은 부분만을 소비하는 것으로 보입니다.

이미 한 일 :

  • 내 하드 드라이브를 SSD로 교체 (큰 영향)
  • ASP.NET의 컴파일과 Windows Temp 디렉토리를 SSD와 유사한 (하드웨어) RAM 드라이브로 옮겼습니다 (큰 영향 이었지만 SSD 이전이었습니다).
  • 거의 수정하지 않은 한 프로젝트의 자동 컴파일 사용 안 함 (어쨌든 프로젝트가 작기 때문에 작은 영향).
  • .NET 및 제 3 자 라이브러리에 대한 불필요한 참조 (모든 경우에 미치는 영향)
  • 이 블로그 게시물 에서 논의 된 일부 흑 마술 트릭. (매우 작은 충격이라면).

그러나 나는 아직도 위의 (천천히?) 수치에 집착하고 있으며, 이것이 내 생산성에 해를 끼치고 있다고 생각한다. 이제 나는 다음에해야할 일이 궁금합니다.

현재 시스템 설정 :

  • 코어 2 쿼드 Q6600 CPU
  • 4GB DDR2 800 RAM
  • 120GB SSD
  • Windows 7 x64
  • Resharper 5.5가 포함 된 Visual Studio 2010 Ultimate

내 솔루션의 사양 :

  • 22.000 라인의 .NET 4 C # 코드
  • 3 개의 프로젝트 : 하나의 ASP.NET MVC, 하나의 테스트 프로젝트, 하나의 작은 범용 라이브러리가 다른 두 라이브러리에 포함되어 있으며, 변경되지 않는 한 컴파일되지 않습니다.
  • 다른 라이브러리에 대한 35 개의 참조 (.NET 프레임 워크 및 오픈 소스 자료)
  • 조회수 : 200 회
  • 850 단위 테스트

이제 내 질문 :

  • 내 RAM을 8GB로 업그레이드하면 성능이 크게 향상 될 수 있습니까?
  • 이 수치는 정상입니까? 아니면 내 솔루션에 문제가 될 수 있습니까?
  • 완전히 새로운 컴퓨터를 구입할 때를 제외하고 다음에 어떤 것을 시도 할 것입니까?

감사,

애드리안

편집 : 하나의 특히 이상한 일은 "솔루션 빌드"버튼을 누르면 Visual Studio에서 실제로 컴파일이 시작되고 컴파일 창이 업데이트 될 때까지 대기 기호를 표시하는 데 약 8 초가 소요됩니다. 이 기간 동안 IDE는 응답하지 않습니다. 실제로 컴파일 시간의 좋은 부분입니다. 이 기간 동안 Visual Studio가 무엇을하고 있는지 궁금합니다.


Answer #1

비밀 Resharper.Internal 기능을 시도 할 수 있습니다 "MSBuild 함께 동시 건물" here 설명되어 here .


Answer #2

실행할 빌드 서버를 설정할 수 있습니다.

  • 짓다
  • 테스트
  • 전개

새 버전이 실제로 작동하는지 확인하는 데 대략 같은 시간이 걸릴 것이지만 개발 PC 리소스는 소모되지 않습니다.


Answer #3

이 프로젝트는 MVC 프로젝트이므로 프로젝트의 "빌드보기"가 꺼져 있는지 확인하십시오.

  1. 프로젝트 파일에서 오른쪽 클릭 -> MVC 프로젝트에서 프로젝트 언로드
  2. 프로젝트 파일 -> 프로젝트 편집을 마우스 오른쪽 버튼으로 클릭하십시오.
  3. 설정 확인 ... 거짓
  4. 저장하고 마우스 오른쪽 버튼으로 클릭 -> 프로젝트를 다시로드하십시오.

컴파일러가 내 고객이하기 전에 내 실수를 찾아 낼 수 있도록 남겨 두었습니다. 그러나 빌드 뷰는 끔찍하게 느립니다.





hardware