다음을 통해 공유


프로파일러 설정 최적화

Visual Studio의 성능 프로파일러 및 진단 도구 창에는 도구의 전반적인 성능에 영향을 주는 다양한 설정이 있습니다. 일부 설정을 변경하면 분석이 빠르게 실행되거나 도구에서 결과를 처리하는 동안 더 많은 대기 시간이 발생할 수 있습니다. 다음은 특정 설정과 해당 설정이 성능에 미치는 영향에 대한 요약입니다.

기호 설정

디버거의 기호 설정은 도구에서 결과를 생성하는 데 걸리는 시간에 크게 영향을 줍니다. 도구>옵션 창의 모든 설정>디버깅>기호>검색 위치 섹션에서 옵션을 구성할 수 있습니다.

디버거의 기호 설정은 도구에서 결과를 생성하는 데 걸리는 시간에 크게 영향을 줍니다. 도구>옵션 대화 상자의 디버깅> 기호 섹션에서 옵션을 구성할 수있습니다.

기호 서버를 사용하도록 설정하거나 _NT_SYMBOL_PATH 변수를 사용하면 프로파일러가 보고서의 로드된 각 모듈에 대한 기호를 요청합니다. 현재 프로파일러가 자동 기호 로드 기본 설정에 관계없이 항상 모든 기호를 자동으로 로드합니다.

도구, 옵션, 모든 설정, 디버깅, 기호, 검색 위치 옵션을 보여 주는 스크린샷.

도구, 옵션, 디버깅, 기호 로드 옵션을 보여 주는 스크린샷

진단 도구 제목 아래의 출력 창에서 기호 로드 진행률을 볼 수 있습니다.

기호 로드 진행률

다운로드되면 기호가 캐시되므로 향후 분석 속도가 빨라지지만 파일을 로드하고 분석해야 합니다. 기호 로드로 인해 분석 속도가 느려지는 경우 기호 서버를 끄고 기호 캐시를 지웁니다. 대신 프로젝트에 대해 로컬로 빌드된 기호를 사용합니다.

외부 코드 표시

성능 프로파일러진단 도구 창 내의 많은 도구에는 사용자 코드와 외부 코드의 개념이 있습니다. 사용자 코드는 열린 솔루션 또는 열린 작업 영역에서 빌드된 모든 코드입니다. 외부 코드는 그 외의 모든 것입니다. 내 코드 설정만 표시하거나 외부 코드 표시 설정을 사용하지 않도록 설정하면 도구에서 외부 코드를 단일 첫 번째 수준 프레임으로 집계하여 결과를 표시하는 데 필요한 처리량을 크게 줄일 수 있습니다. 이를 통해 사용자는 데이터를 최소한으로 처리하면서 느려진 상태를 만든 외부 코드에서 호출된 내용을 볼 수 있습니다. 가능하면 외부 코드 표시 를 사용하도록 설정하고 분석 중인 .diagsession 파일에 대한 솔루션 또는 작업 영역이 열려 있는지 확인합니다.

대부분의 프로파일링 도구의 경우 보고서 요약 페이지의 설정에 사용자 코드 옵션이 있습니다.

내 코드만 표시 옵션의 스크린샷.

추적 기간

기간을 더 적게 프로파일링하면 데이터가 줄어들고 분석 속도가 빨라집니다. 일반적으로 추적을 5분 이하의 성능 데이터로 제한하는 것이 좋습니다. CPU 사용량 도구와 같은 일부 도구를 사용하면 도구가 실행되는 동안 데이터 수집을 일시 중지할 수 있으므로 수집된 데이터의 양을 분석하려는 시나리오로 제한할 수 있습니다.

샘플링 빈도

CPU 사용량 도구 및 NET 개체 할당 도구와 같은 특정 도구를 사용하면 샘플링 빈도를 조정할 수 있습니다. 이 샘플링 빈도를 늘리면 보다 정확하게 측정할 수 있지만 생성된 데이터의 양이 증가합니다. 일반적으로 특정 문제를 조사하지 않는 한 이 설정을 기본 속도로 두는 것이 가장 좋습니다.

Diag Hub 속성 페이지

컬렉션 폴더 설정

Visual Studio 프로파일러는 성능 추적을 저장 또는 폐기하기 전에 컬렉션 스크래치 디렉터리에 일시적으로 보관합니다. 기본적으로 프로파일러에서 임시 디렉터리를 사용합니다. 그러나 먼저 진단 도구 창(디버그>Windows>진단 도구 표시)을 연 다음 도구설정>일반>> 선택을 선택하여 다른 스크래치 디렉터리를 지정할 수 있습니다.

프로파일러 스크래치 디렉터리의 스크린샷