다음을 통해 공유


초보자를 위한 성능 프로파일링 지침

이 항목은 다음 언어에 적용됩니다.

Visual Studio Ultimate

Visual Studio Premium

Visual Studio Professional 

Visual Studio Express

항목이 적용됨 항목이 적용됨 항목이 적용되지 않음 항목이 적용되지 않음

이 항목에서는 Visual Studio Premium 및 Visual Studio Ultimate의 프로파일링 도구를 사용하여 응용 프로그램의 성능 문제를 분석하기 위한 기본적인 방법에 대해 설명합니다. 프로파일링 도구에서는 다양한 종류의 응용 프로그램에서 사용자 지정 성능 데이터를 수집하기 위한 여러 가지 옵션도 제공하지만 이 항목에서는 프로파일링 마법사를 사용하여 Visual Studio 솔루션의 샘플링 데이터를 수집하는 방법만 다룹니다.

참고

샘플링을 통해 필요한 데이터를 얻을 수 없는 경우 프로파일링 도구의 다른 수집 방법으로 유용한 여러 종류의 정보를 얻을 수 있습니다. 이러한 다른 방법에 대한 자세한 내용은 방법: 수집 방법 선택을 참조하십시오.

항목 내용

기본 개념

사전 요구 사항

1단계: 성능 세션 만들기 및 실행

2단계: 샘플링 데이터 분석

3단계: 코드 수정 및 프로파일러 다시 실행

기본 개념

성능 세션   성능 프로파일러를 사용할 때는 성능 정보를 수집하기 위한 구성 데이터와 한 번 이상의 프로파일링 실행에서 얻은 결과를 포함하는 성능 세션을 만듭니다. 만들어진 성능 세션은 성능 탐색기 창에 나타납니다.

성능 탐색기 및 그 요소

  1. 프로파일링 세션의 이름입니다.

  2. Targets 폴더에는 이 세션에서 프로파일링되는 프로젝트 또는 이진 파일이 표시됩니다.

  3. Reports 폴더에는 한 번 이상의 수집을 실행하여 얻은 프로파일링 데이터 파일이 포함됩니다. 파일 이름을 클릭하고 함수 호출, 메모리 할당 및 특정 함수의 정보 같은 성능 정보의 뷰를 선택할 수 있습니다. 각 뷰는 Visual Studio 주 창에 표시됩니다.

샘플링 방법   샘플링은 응용 프로그램에서 사용자 모드 작업의 대부분을 수행하고 있는 함수를 보여 주는 통계적 프로파일링 방법입니다. 응용 프로그램의 속도를 향상시킬 수 있는 영역을 찾으려면 샘플링으로 시작하는 것이 좋습니다.

샘플링 방법은 지정된 간격에 따라 응용 프로그램에서 실행되는 함수에 대한 정보를 수집합니다. 프로파일링 실행을 마친 후에는 Visual Studio 주 창에 프로파일링 데이터의 요약 뷰가 나타납니다. 요약 뷰에는 가장 많이 실행되는 함수 호출 트리, 즉 응용 프로그램 작업의 대부분이 수행된 실행 부하 과다 경로가 표시됩니다. 또한 가장 많은 개별 작업을 수행하는 함수 목록이 표시되고, 샘플링 세션의 특정 부분에 초점을 맞추는 데 사용할 수 있는 시간 표시 그래프도 표시됩니다.

사전 요구 사항

다음은 불필요한 문제가 발생하지 않도록 하기 위해 프로파일링을 시작하기 전에 수행할 수 있는 몇 가지 사항입니다.

관리자 권한으로 실행   사용 중인 컴퓨터의 관리자가 아닌 경우 프로파일링 도구의 일부 기능에 필요한 사용 권한을 얻으려면 Visual Studio를 관리자 권한으로 실행해야 합니다. Visual Studio를 관리자 권한으로 실행하려면 시작 단추를 클릭하고 Visual Studio 응용 프로그램 아이콘을 찾은 다음 이 아이콘을 마우스 오른쪽 단추로 클릭하고 관리자 권한으로 실행을 클릭합니다.

활성 빌드 구성을 릴리스로 설정   디버그 빌드는 응용 프로그램에 추가 진단 코드를 삽입하며, 컴파일러가 릴리스 빌드에서 수행하는 최적화 기능을 포함하지 않습니다. 따라서 응용 프로그램의 릴리스 버전을 프로파일링하면 응용 프로그램의 성능에 대한 정확한 데이터를 더 많이 얻을 수 있습니다. 활성 구성을 변경하려면 빌드 메뉴에서 구성 관리자를 클릭한 다음 나타나는 대화 상자의 활성 솔루션 구성에서 릴리스를 선택합니다.

Windows 기호 파일 가져오기   Windows 함수를 호출하는 코드를 프로파일링할 경우 가장 최근의 .pdb 파일이 있어야 합니다. 이러한 파일이 없으면 보고서 뷰에는 복잡하고 이해하기 어려운 Windows 함수 이름이 표시됩니다. 필요한 파일이 있는지 확인하는 방법에 대한 자세한 내용은 ¹æ¹ý: Windows ±âÈ£ Á¤º¸ ÂüÁ¶를 참조하십시오.

1단계: 성능 세션 만들기 및 실행

분석해야 할 데이터를 가져오려면 먼저 성능 세션을 만들어 실행해야 합니다. 성능 마법사를 사용하여 두 작업을 모두 수행할 수 있습니다.

성능 세션을 만들고 실행하려면

  1. Visual Studio에서 솔루션을 엽니다.

  2. 분석 메뉴에서 성능 마법사 시작을 클릭합니다.

  3. **CPU 샘플링(권장)**의 기본 설정을 그대로 적용하고 다음을 클릭합니다.

  4. 기본 프로젝트를 그대로 적용하고 다음을 클릭합니다.

  5. 마법사를 완료한 후 프로파일링을 시작합니다. 확인란이 선택되어 있는지 확인하고 마침을 클릭합니다.

    웹 사이트가 시작되고 프로파일러에서 데이터 수집이 시작됩니다.

  6. 성능 문제가 있을 수 있는 기능을 실행합니다.

  7. 일반적인 방법대로 응용 프로그램을 닫습니다.

    응용 프로그램 실행을 마치면 Visual Studio 주 창에 프로파일링 데이터의 요약 뷰가 나타나고 성능 탐색기 창에 새 세션의 아이콘이 나타납니다.

2단계: 샘플링 데이터 분석

성능 세션의 실행을 마치면 Visual Studio의 주 창에 프로파일링 보고서의 요약 뷰가 나타납니다.

데이터 분석을 시작하려면 먼저 실행 부하 과다 경로와 가장 많은 작업을 수행하는 함수 목록을 차례로 검사한 다음, 마지막으로 요약 시간 표시 막대를 사용하여 다른 함수에 초점을 맞추는 것이 좋습니다. 오류 목록 창에서 프로파일링 권장 사항 및 경고를 볼 수도 있습니다.

샘플링 방법으로 필요한 정보를 얻을 수 없는 경우도 있습니다. 예를 들어 샘플은 응용 프로그램이 사용자 모드 코드를 실행하고 있을 때만 수집되므로 입력 및 출력 작업과 같은 일부 기능은 샘플링으로 캡처되지 않습니다. 프로파일링 도구에서는 중요한 데이터에 초점을 맞추는 데 사용할 수 있는 몇 가지 수집 방법을 제공합니다. 다른 방법에 대한 자세한 내용은 방법: 수집 방법 선택을 참조하십시오.

그림에서 번호가 매겨진 각 영역은 이 절차의 단계와 관련이 있습니다.

샘플링을 위한 요약 보고서 뷰

샘플링 데이터를 분석하려면

  1. 요약 뷰의 실행 부하 과다 경로에서는 응용 프로그램의 호출 트리 중 포괄 샘플 수가 가장 많은 분기를 보여 줍니다. 이 경로는 데이터가 수집될 때 가장 많이 실행되었던 실행 경로입니다. 포괄 값이 높으면 해당 호출 트리를 생성하는 알고리즘이 최적화 가능함을 나타낼 수 있습니다. 이 경로에서 최하위에 있는 코드의 함수를 찾습니다. 이 경로에는 시스템 함수나 외부 모듈의 함수도 포함될 수 있습니다.

    프로파일러 실행 부하 과다 경로

    1. 포괄 샘플은 해당 함수와 해당 함수가 호출한 함수에서 수행된 작업의 양을 나타냅니다. 높은 포괄 샘플 값은 전반적으로 가장 부담이 큰 함수를 가리킵니다.

    2. 전용 샘플은 해당 함수 본문의 코드에서 수행된 작업의 양을 나타내며, 해당 함수가 호출한 함수에서 수행된 작업은 제외됩니다. 높은 전용 샘플 값은 해당 함수 내에 성능 병목 문제가 있음을 나타낼 수 있습니다.

  2. 함수 이름을 클릭하여 프로파일링 데이터의 함수 정보 뷰를 표시합니다. 함수 정보 뷰에 선택한 함수에 대한 프로파일링 데이터의 그래픽 뷰가 나타나며 선택한 함수와 해당 함수가 호출한 모든 함수가 표시됩니다.

    • 호출하는 함수와 호출되는 함수의 블록 크기는 해당 함수가 호출하거나 호출된 상대적 빈도를 나타냅니다.

    • 호출하는 함수 또는 호출되는 함수의 이름을 클릭하면 함수 정보 뷰에서 해당 함수가 선택한 함수가 됩니다.

    • 함수 정보 창의 아래쪽 창에는 함수 코드가 표시됩니다. 코드를 검사하여 코드 성능을 최적화할 수 있는 부분을 찾은 경우 소스 파일 이름을 클릭하여 해당 파일을 Visual Studio 편집기에서 엽니다.

  3. 분석을 계속하려면 뷰 드롭다운 목록에서 Summary를 선택하여 요약 뷰로 돌아갑니다. 그런 다음 개별 작업이 가장 많은 함수 목록의 함수를 검사합니다. 이 목록에는 전용 샘플 수가 가장 많은 함수가 표시됩니다. 이러한 함수의 함수 본문 코드에서는 많은 양의 작업이 수행되므로 이를 최적화할 수 있습니다. 특정 함수를 보다 세부적으로 분석하려면 함수 이름을 클릭하여 해당 함수를 함수 정보 뷰에 표시합니다.

    가장 많은 작업을 실행하는 함수의 목록

    프로파일링 실행을 계속 검사하려는 경우 요약 뷰의 시간 표시 막대를 사용하여 프로파일링 데이터의 한 세그먼트를 다시 분석하면 선택한 세그먼트에서 얻은 실행 부하 과다 경로개별 작업이 가장 많은 함수가 표시됩니다. 예를 들어 시간 표시 막대에서 보다 낮게 나타난 부분에 초점을 맞추면 전체 프로파일링 실행을 분석할 때는 표시되지 않았던 부담이 큰 호출 트리와 함수가 표시될 수 있습니다.

    세그먼트를 다시 분석하려면 요약 시간 표시 막대 상자에서 세그먼트를 선택한 다음 선택 항목으로 필터링을 클릭합니다.

    성능 요약 뷰 시간 표시줄

  4. 또한 프로파일러에서는 규칙 집합을 사용하여 프로파일링 실행을 개선할 수 있는 방법을 제안하고 발생할 수 있는 성능 문제를 파악합니다. 문제가 발견되면 오류 목록 창에 경고가 표시됩니다. 오류 목록 창을 열려면 보기 메뉴에서 오류 목록을 클릭합니다.

    • 함수 정보 뷰에 경고를 표시한 함수를 확인하려면 경고를 두 번 클릭합니다.

    • 경고에 대한 세부 정보를 보려면 오류를 마우스 오른쪽 단추로 클릭한 다음 오류 도움말 표시를 클릭합니다.

3단계: 코드 수정 및 세션 다시 실행

하나 이상의 함수를 찾아 최적화한 후에는 프로파일링 실행을 반복하고 데이터를 비교하여 변경으로 인한 응용 프로그램 성능상의 차이를 확인할 수 있습니다.

코드를 수정하고 프로파일러를 다시 실행하려면

  1. 코드를 변경합니다.

  2. 성능 탐색기를 열려면 보기 메뉴에서 다른 창을 클릭하고 성능 탐색기를 클릭합니다.

  3. 성능 탐색기에서 다시 실행하려는 세션을 마우스 오른쪽 단추로 클릭한 다음 프로파일링 시작을 클릭합니다.

  4. 세션을 다시 실행한 후에는 성능 탐색기에서 해당 세션에 대한 보고서 폴더에 또 다른 데이터 파일이 추가됩니다. 원래 프로파일링 데이터와 새 프로파일링 데이터를 모두 선택하고 선택한 데이터를 마우스 오른쪽 단추로 클릭한 다음 성능 보고서 비교를 클릭합니다.

    새 보고서 창이 열리고 비교 결과가 표시됩니다. 비교 뷰의 사용 방법에 대한 자세한 내용은 방법: 프로파일러 데이터 파일 비교를 참조하십시오.

참고 항목

개념

프로파일링 도구를 사용하여 응용 프로그램 성능 분석

프로파일링 도구 시작

기타 리소스

개요(프로파일링 도구)