성능 세션 개요Performance Session Overview

이 개요에서는 프로파일링의 기본 사항에 대해 설명합니다.This overview explains the basics of profiling. 성능 작업을 처음 수행하는 개발자는 Visual StudioVisual Studio 프로파일링 도구를 통해 빠르게 생산성을 높이고 코드 성능을 개선하는 방법을 파악할 수 있습니다.Developers who are new to performance work will see how the Visual StudioVisual Studio Profiling Tools can help them become productive quickly and increase the performance of their code. 그리고 프로파일링에 대해 잘 알고 있는 개발자는 특정 프로파일링 도구의 기능과 프로세스에 대해 대략적으로 확인할 수 있습니다.Developers who are experienced in profiling can gain an overview of specific Profiling Tools features and processes.

Visual StudioVisual Studio 프로파일링 도구를 사용하면 소스 코드의 성능 문제를 파악하고 사용 가능한 해결 방법의 성능을 비교할 수 있습니다.The Visual StudioVisual Studio Profiling Tools help you identify performance issues in source code and compare the performance of possible solutions. 프로파일링 도구 마법사와 기본 설정을 사용하면 대다수 성능 문제를 즉시 파악할 수 있습니다.Profiling Tools wizards and default settings can give you immediate insight into many performance issues. 프로파일링 도구의 기능과 옵션을 통해 프로파일링 프로세스를 정확하게 제어할 수 있습니다.The features and options of the Profiling Tools provide exact control over the profiling process. 이러한 제어에는 코드 섹션의 정확한 대상 지정, 블록 수준 타이밍 정보 수집, 데이터에 추가 프로세서 및 시스템 성능 데이터 포함 등이 있습니다.This control includes the precise targeting of code sections, the collection of block-level timing information, and the inclusion of additional processor and system performance data in your data.

프로파일링 도구를 사용하는 기본 프로세스는 다음 단계로 구성됩니다.The following steps make up the basic process of using the Profiling Tools:

  1. 수집 방법과 수집할 데이터를 지정하여 성능 세션을 구성합니다.Configure the performance session by specifying the collection method and the data that you want to collect.

  2. 성능 세션에서 응용 프로그램을 실행하여 프로파일링 데이터를 수집합니다.Collect profiling data by running the application in the performance session.

  3. 데이터를 분석하여 성능 문제를 파악합니다.Analyze the data to identify the performance issue.

  4. Visual StudioVisual Studio IDE(통합 개발 환경)에서 코드를 수정하여 코드의 응용 프로그램 성능을 개선합니다.Modify code in the Visual StudioVisual Studio integrated development environment (IDE) to increases the application performance of the code

  5. 변경된 코드에서 프로파일링 데이터를 수집하여 원래 데이터와 변경된 데이터의 프로파일링 데이터를 비교합니다.Collect profiling data on the changed code, and compare the profiling data of the original and changed data.

  6. 성능 개선 사항을 설명하는 보고서를 생성합니다.Generate a report that documents the increase in performance.

    프로파일링을 통해 제공되는 정보를 사용하려면 프로파일링할 이진 파일 및 Windows 운영 체제의 이진 파일에 대해 기호 정보를 사용할 수 있어야 합니다.To work with the information that is provided by profiling, you should have symbol information available for the binaries that you want to profile and for the binaries of the Windows operating system.

성능 세션 구성Configure the Performance Session

프로파일링 세션을 구성하려면 사용할 프로파일링 방법과 수집할 데이터를 선택합니다.To configure a profiling session, select the profiling method that you want to use and the data that you want to collect. 프로파일링 도구 성능 마법사는 기본 구성을 안내할 수 있으며, 성능 세션 속성 페이지를 사용하여 옵션을 더 추가할 수 있습니다.The Profiling Tools Performance Wizard can guide you through the basic configuration, and you can use the Performance Session property pages to add more options:

  • 프로파일링 방법에는 샘플링, 추적 및 메모리 할당이 포함됩니다.Profiling methods include sampling, tracing, and memory allocation.

  • 데이터 값에는 시간, 프로세서 및 운영 체제 성능 카운터와 응용 프로그램 이벤트(예: 페이지 폴트, 커널 전환) 등이 있습니다.Data values include time, processor and operating system performance counters, and application events such as page faults and kernel transitions.

    프로젝트 솔루션의 일부분으로 Visual StudioVisual Studio 프로젝트에서 성능 세션을 구성하거나, Visual StudioVisual Studio IDE를 통해 임의의 이진 파일을 프로파일링할 수 있습니다.You can configure a performance session in a Visual StudioVisual Studio project as part of the project solution, or profile arbitrary binaries through the Visual StudioVisual Studio IDE. 성능 세션 속성 페이지에서 세션 속성을 지정할 수도 있고 프로파일링 마법사를 사용할 수도 있습니다.You can specify session properties in the Performance Session property pages or you can use the Profiling Wizard.

프로파일링 데이터 수집Collect Profiling Data

성능 탐색기에서 프로파일링 데이터 수집을 시작합니다.You start the collection of profiling data from Performance Explorer. 프로파일링을 일시 중지하고 다시 시작하여 수집하는 데이터의 양을 제한할 수 있습니다.You can pause and resume profiling to limit the amount of data that you collect. 이미 실행 중인 프로세스에 연결할 수도 있습니다.You can also attach to a process that is already running.

응용 프로그램이 시작되는 즉시 데이터 수집 제어 창이 Visual StudioVisual Studio IDE에 표시됩니다.As soon as the application starts, the Data Collection Control window appears in the Visual StudioVisual Studio IDE. 데이터 수집 제어 창에서 수집 프로세스를 일시 중지하고 다시 시작하여 특정 응용 프로그램 부분을 프로파일링할 수 있습니다.From the Data Collection Control window, you can profile specific parts of your application by pausing and resuming the collection process. 데이터 수집 제어 창을 사용하여 수집되는 데이터에 표시를 삽입할 수도 있습니다.You can also use the Data Collection Control window to insert marks into the data that is collected. 표시는 프로파일링 뷰에 표시되며 프로파일링 데이터를 필터링하는 데 사용할 수 있는 사용자 정의 데이터 요소입니다.Marks are user-defined data points that are displayed in profile views and that can be used to filter the profiling data.

대상 응용 프로그램이 종료되면 프로파일링 도구는 프로파일링 데이터 파일(.vsp)을 생성하고 Visual StudioVisual Studio IDE에 요약 보고서 뷰를 표시합니다.When the target application shuts down, the Profiling Tools generates a profiling data file (.vsp) and displays the Summary Report view in the Visual StudioVisual Studio IDE.

데이터 분석 및 성능 문제 파악Analyze the Data and Identify Performance Issues

프로파일링 실행을 종료하면 데이터가 분석되어 프로파일링 도구 성능 보고서 뷰 창에 요약이 표시됩니다.When you end a profiling run, the data is analyzed and a summary is displayed in the Profiling Tools Performance Report view windows. 대상 응용 프로그램의 개별 함수와 호출 스택에 대해 프로파일링 데이터가 수집됩니다.Profiling data is collected for the call stack and individual functions of the target application. 보고서 뷰에는 응용 프로그램 프로세스, 스레드, 모듈, 함수 및 소스 코드 줄의 데이터 범위에 대한 성능 분석이 표시됩니다.Report views display performance analysis for data ranges of the processes, threads, modules, functions, and source code lines of the application. 함수의 프로파일링 데이터 값에는 다음 항목이 포함됩니다.Profiling data values for a function include the following:

  • 함수 및 해당 함수가 호출한 자식 함수에서 소요된 전체 시간(포괄 값)The overall time that was spent in the function and in child functions that were called by the function (inclusive values).

  • 함수의 코드만 실행하는 데 소요된 시간(전용 값)The time that was spent executing only the code in the function (exclusive values).

    12개가 넘는 개별 뷰를 통해 가장 효율적인 방식으로 프로파일링 데이터를 분석할 수 있습니다.Over twelve different views enable you to analyze the profiling data in the most efficient way. 뷰를 사용자 지정하면 데이터를 필터링하고 정렬하여 성능 문제를 발생시킬 수 있는 함수를 찾을 수 있습니다.View customizations enable you to filter and sort the data to find the functions that might be causing performance issues. 실행 부하 과다 경로 필터링을 수행하면 호출 트리 및 모듈 뷰에서 가장 사용량이 많은 경로가 즉시 강조 표시됩니다.Hot Path filtering provides immediate highlighting of the most active paths in Call Tree and Module views.

응용 프로그램 코드 수정Modify the Application Code

관련 성능 문제가 하나 이상 파악되면 Visual StudioVisual Studio IDE를 사용하여 코드를 수정한 다음 변경 내용에 대해 프로파일링 데이터를 수집할 수 있습니다.After you have isolated one or more relevant performance issues, you can modify code by using the Visual StudioVisual Studio IDE, and then collect profiling data for your changes.

프로파일링 데이터 다시 수집 및 프로파일링 실행 간에 데이터 비교Collect Profiling Data Again and Compare the Data between the Profiling Runs

프로파일링 도구 비교 보고서 뷰에는 선택한 두 프로파일링 데이터 파일 간의 모듈, 함수 또는 줄 성능 차이가 표시됩니다.The Profiling Tools Comparison Report View displays the difference in module, function, or line performance between two selected profiling data files. 비교할 프로파일링 데이터 값을 지정할 수 있으며, 비교 뷰와 개별 파일 뷰 간을 전환할 수 있습니다.You can specify the profiling data values that you want to compare, and you can switch between the Comparison View and views of the individual files.

결과 보고서 생성Generate a Report of the Results

성능 보고서 뷰의 행을 전자 메일과 스프레드시트에 붙여 넣을 수 있으며, 뷰 하나 이상의 데이터가 포함된 보고서를 생성할 수 있습니다.You can paste rows of any performance report view into e-mails and spreadsheets, and you can generate reports that contain the data for one or more views.

참고 항목See Also

개요 Overviews
연습: 성능 문제 확인Walkthrough: Identifying Performance Problems