프로파일링 도구 살펴보기First look at profiling tools

Visual Studio에서는 앱의 유형에 따라 다른 성능 문제를 진단할 수 있는 다양한 프로파일링 도구를 제공합니다.Visual Studio provides a variety of profiling tools to help you diagnose different kinds of performance issues depending on your app type. 이 문서에서는 가장 일반적인 프로파일링 도구를 간략하게 살펴봅니다.In this article, we give a quick look at the most common profiling tools.

다양한 앱 유형에 대한 프로파일링 도구를 보려면 사용해야 하는 도구를 참조하세요.To see profiling tool support for different app types, see Which tool should I use?

디버그하는 동안 성능 측정Measure performance while debugging

디버깅 세션 중에 액세스할 수 있는 프로파일링 도구는 [진단 도구] 창에 제공됩니다.The profiling tools that you can access during a debugging session are available in the Diagnostic Tools window. 끄지 않았다면 [진단 도구] 창이 자동으로 나타납니다.The Diagnostic Tools window appears automatically unless you have turned it off. 창을 표시하려면 디버그/Windows/진단 도구 표시 를 클릭합니다.To bring up the window, click Debug / Windows / Show Diagnostic Tools. 창이 열리면 데이터를 수집할 도구를 선택할 수 있습니다.With the window open, you can select tools for which you want to collect data.

진단 도구 창Diagnostic Tools window

디버그하는 동안 진단 도구 창을 사용하여 CPU 및 메모리 사용을 분석하고 성능 관련 정보를 보여주는 이벤트를 확인할 수 있습니다.While you are debugging, you can use the Diagnostic Tools window to analyze CPU and memory usage, and you can view events that show performance-related information.

진단 도구 요약 보기Diagnostic Tools Summary view

일반적으로 진단 도구 창을 사용하여 앱을 프로파일링하지만 릴리스 빌드의 경우 앱에 대한 post-mortem 분석을 대신 수행할 수도 있습니다.The Diagnostic Tools window is a common way to profile apps, but for Release builds you can also do a post-mortem analysis of your app instead. 다른 방법에 대한 자세한 내용을 보려면 디버거를 사용하거나 사용하지 않고 프로파일링 도구 실행을 참조하세요.For more information on different approaches, see Run profiling tools with or without the debugger. 다양한 앱 유형에 대한 프로파일링 도구를 보려면 사용해야 하는 도구를 참조하세요.To see profiling tool support for different app types, see Which tool should I use?

진단 도구 창에서 또는 디버깅 세션 중에 사용할 수 있는 도구는 다음과 같습니다.Tools available in the Diagnostic Tools window or during a debugging session include:

참고

Windows 8 이상에서는 디버거( 진단 도구 창)를 포함한 프로파일링 도구를 실행해야 합니다.Windows 8 and later is required to run profiling tools with the debugger ( Diagnostic Tools window). Windows 7 이상에서 사후 분석 도구를 사용할 수 있습니다.You can use the post-mortem tools with Windows 7 and later.

릴리스 빌드에서 성능 측정Measure performance in release builds

성능 프로파일러의 도구는 릴리스 빌드에 대한 분석을 제공하기 위한 것입니다.Tools in the Performance Profiler are intended to provide analysis for Release builds. 성능 프로파일러에서 앱이 실행 중인 동안 진단 정보를 수집한 다음 앱이 중지된 이후에 수집된 정보를 검사할 수 있습니다(사후 분석).In the Performance Profiler, you can collect diagnostic info while the app is running, and then examine the collected information after the app is stopped (a post-mortem analysis).

디버그 > 성능 프로파일러 (또는 Alt + F2 )를 선택하여 성능 프로파일러를 엽니다.Open the Performance Profiler by choosing Debug > Performance Profiler (or Alt + F2 ).

성능 프로파일러Performance Profiler

성능 프로파일러 및 디버거 통합 도구에서 CPU 사용량 또는 메모리 사용량 도구를 사용하는 방법에 대한 자세한 내용은 디버거를 사용하거나 사용하지 않고 프로파일링 도구 실행을 참조하세요.For more information on using the CPU Usage or Memory usage tool in the Performance Profiler vs. the debugger-integrated tools, see Run profiling tools with or without the debugger.

성능 프로파일러에서 사용할 수 있는 도구는 다음과 같습니다.Tools available in the Performance Profiler include:

다양한 앱 유형에 대한 프로파일링 도구를 보려면 사용해야 하는 도구를 참조하세요.To see profiling tool support for different app types, see Which tool should I use?

창에서 여러 프로파일링 도구를 선택할 수 있는 경우도 있습니다.In some scenarios, the window allows you to select multiple profiling tools. CPU 사용량과 같은 도구는 분석에 유용한 보조 데이터를 제공할 수 있습니다.Tools such as CPU Usage may provide complementary data that you can use to help in your analysis. 명령줄 프로파일러를 사용하여 여러 프로파일링 도구를 포함하는 시나리오를 사용하도록 설정할 수도 있습니다.You can also use the command-line profiler to enable scenarios involving multiple profiling tools.

PerfTips를 사용하여 성능 검사Examine performance using PerfTips

성능 정보를 살펴보는 가장 쉬운 방법은 PerfTips인 경우가 많습니다.Often, the easiest way to view performance information is to use PerfTips. PerfTips를 사용하면 코드와 상호 작용하면서 성능 정보를 확인할 수 있습니다.Using PerfTips, you can view performance information while interacting with your code. 이벤트 기간(디버거가 마지막으로 일시 중지되거나 앱이 시작된 시점부터 측정)과 같은 정보를 확인할 수 있습니다.You can check information such as the duration of the event (measured from when the debugger was last paused, or when the app started). 예를 들어(F10, F11) 코드를 단계별로 실행할 경우 PerfTips는 이전 단계 작업부터 현재 단계까지의 앱 런타임 지속 시간을 보여 줍니다.For example, if you step through code (F10, F11), PerfTips show you the app runtime duration from the previous step operation to the current step.

프로파일링 둘러보기 PerfTipsProfiling Tour PerfTips

PerfTips를 사용하여 코드 블록이 실행되는 데 소요되는 시간이나 하나의 함수가 완료되는 데 소요되는 시간을 살펴볼 수 있습니다.You can use PerfTips to examine how long it takes for a code block to execute, or how long it takes for a single function to complete.

PerfTips는 진단 도구의 이벤트 뷰에 표시되는 것과 동일한 이벤트를 보여 줍니다.PerfTips show the same events that also show up in the Events view of the Diagnostic Tools. 이벤트 뷰에서는 중단점 설정, 코드 단계별 실행 작업 등 디버깅 중에 발생하는 여러 이벤트를 볼 수 있습니다.In the Events view, you can view different events that occur while you are debugging, such as the setting of a breakpoint or a code stepping operation.

진단 도구 이벤트 뷰Diagnostic Tools Events view

참고

Visual Studio Enterprise를 사용하는 경우 이 탭에 IntelliTrace 이벤트가 표시될 수도 있습니다.If you have Visual Studio Enterprise, you can also see IntelliTrace events in this tab.

CPU 사용량 분석Analyze CPU usage

CPU 사용 도구를 사용하여 앱의 성능을 분석하는 것이 좋습니다.The CPU Usage tool is a good place to start analyzing your app's performance. 이 도구는 앱에서 사용 중인 CPU 리소스에 대해 자세히 알려줍니다.It will tell you more about CPU resources that your app is consuming. 디버거 통합 CPU 사용량 도구 또는 사후 분석 CPU 사용량 도구를 사용할 수 있습니다.You can use the debugger-integrated CPU Usage tool or the post-mortem CPU Usage tool.

디버거 통합 CPU 사용량 도구를 사용하는 경우 진단 도구 창을 엽니다(닫혀 있는 경우 디버그/Windows/진단 도구 표시 를 선택).When using the debugger-integrated CPU Usage tool, open the Diagnostics Tool window (if it's closed, choose Debug / Windows / Show Diagnostic Tools ). 디버그하는 동안 요약 보기를 열고 CPU 프로필 기록 을 선택합니다.While debugging, open the Summary view, and select Record CPU Profile.

진단 도구에서 CPU 사용량 사용Enable CPU usage in the Diagnostic Tools

이 도구를 사용하는 한 가지 방법은 코드에 두 개의 중단점을 설정하는 것입니다(함수 또는 분석할 코드 영역의 시작 부분과 끝에 각각 하나씩).One way to use the tool is to set two breakpoints in your code, one at the beginning and one at the end of the function or the region of code you want to analyze. 두 번째 중단점에서 일시 중지된 경우에 프로파일링 데이터를 검토하세요.Examine the profiling data when you are paused at the second breakpoint.

CPU 사용량 보기에는 함수 목록이 오래 실행된 순으로 표시됩니다. 즉, 가장 오래 실행 중인 함수가 맨 위에 표시됩니다.The CPU Usage view shows you a list of functions ordered by longest running, with the longest running function at the top. 이 목록에서 성능 병목 현상이 발생 중인 함수를 알 수 있습니다.This can help guide you to functions where performance bottlenecks are happening.

진단 도구 CPU 사용량 보기Diagnostic Tools CPU Usage view

원하는 함수를 두 번 클릭하면 세 개의 창으로 구분된 세부 “나비” 뷰가 표시되고, 창의 가운데에는 선택된 함수, 왼쪽에는 호출 중인 함수, 오른쪽에는 호출된 함수가 표시됩니다.Double-click on a function that you are interested in, and you will see a more detailed three-pane "butterfly" view, with the selected function in the middle of the window, the calling function on the left, and called functions on the right. 함수 본문 섹션에는 또한 호출 함수 및 호출된 함수에 사용된 시간을 제외하고 함수 본문에 사용된 총 시간(및 시간의 백분율)이 표시됩니다.The Function Body section shows the total amount of time (and the percentage of time) spent in the function body excluding time spent in calling and called functions. 이 데이터를 사용하여 함수 자체에 성능 병목 현상이 있는지 여부를 평가할 수 있습니다.This data can help you evaluate whether the function itself is a performance bottleneck.

진단 도구 호출자 수신자 "나비" 뷰Diagnostic Tools caller callee "butterfly" view

메모리 사용량 분석Analyze memory usage

진단 도구 창에서는 메모리 사용량 도구를 사용하여 앱의 메모리 사용량을 평가할 수도 있습니다.The Diagnostic Tools window also allows you to evaluate memory usage in your app using the Memory Usage tool. 예를 들어 힙에 있는 개체의 수와 크기를 확인할 수 있습니다.For example, you can look at the number and size of objects on the heap. 디버거 통합 메모리 사용량 도구 또는 성능 프로파일러의 사후 분석 메모리 사용량 도구를 사용할 수 있습니다.You can use the debugger-integrated Memory Usage tool or the post-mortem Memory Usage tool in the Performance Profiler.

.NET 개발자는 .NET 개체 할당 도구 또는 메모리 사용량 도구 중에서 선택할 수 있습니다..NET developers may choose between either the .NET Object Allocation tool or the Memory usage tool.

  • .NET 개체 할당 도구 를 사용하면 .NET 코드의 할당 패턴과 비정상 요소를 식별하는 데 도움이 되고 가비지 수집의 일반적인 문제를 식별할 수 있습니다.The .NET Object Allocation tool helps you identify allocation patterns and anomalies in your .NET code, and helps identify common issues with garbage collection. 이 도구는 사후 분석 도구로만 실행됩니다.This tool runs only as a post-mortem tool. 로컬 컴퓨터 또는 원격 컴퓨터에서 이 도구를 실행할 수 있습니다.You can run this tool on local or remote machines.
  • 메모리 사용량 도구는 .NET 앱에서 일반적이지 않은 메모리 누수를 식별하는 데 유용합니다.The Memory usage tool is helpful in identifying memory leaks, which are not typically common in .NET apps. 코드를 단계별로 실행하는 경우와 같이 메모리를 검사하는 동안 디버거 기능을 사용해야 하는 경우 디버거 통합 메모리 사용량 도구를 사용하는 것이 좋습니다.If you need to use debugger features while checking memory, such as stepping through code, the debugger-integrated Memory usage tool is recommended.

메모리 사용량 도구를 사용하여 메모리 사용량을 분석하려면 메모리 스냅샷을 하나 이상 만들어야 합니다.To analyze memory usage with the Memory Usage tool, you need to take at least one memory snapshot. 메모리를 분석하는 가장 좋은 방법은 스냅샷을 두 개(의심되는 메모리 문제가 발생하기 직전과 직후) 만드는 것입니다.Often, the best way to analyze memory is to take two snapshots; the first right before a suspected memory issue, and the second snapshot right after a suspected memory issue occurs. 그런 다음 두 스냅샷의 차이점을 보고 변경 내용을 정확히 확인할 수 있습니다.Then you can view a diff of the two snapshots and see exactly what changed. 다음 그림에서는 디버거 통합 도구를 사용하여 스냅샷을 만드는 방법을 보여 줍니다.The following illustration shows taking a snapshot with the debugger-integrated tool.

진단 도구에서 스냅샷 만들기Take a snapshot in the Diagnostic Tools

화살표 링크 중 하나를 선택하면 힙의 차이 뷰(빨간색 위쪽 화살표 메모리 사용량 증가는 증가하는 개체 수(왼쪽)와 증가하는 힙 크기(오른쪽) 표시)가 제공됩니다.When you select one of the arrow links, you are given a differential view of the heap (a red up arrow Memory Usage Increase shows an increasing object count (left) or an increasing heap size (right)). 오른쪽 링크를 클릭하면 힙 크기가 가장 많이 증가한 개체순으로 차이 힙 뷰가 표시됩니다.If you click the right link, you get a differential heap view ordered by objects that increased the most in heap size. 여기서 메모리 문제를 파악할 수 있습니다.This can help you pinpoint memory problems. 예를 들어 아래 그림에서 ClassHandlersStore 개체에 사용된 바이트 수가 두 번째 스냅샷에서 3,492바이트 증가했습니다.For example, in the illustration below, the bytes used by ClassHandlersStore objects increased by 3,492 bytes in the second snapshot.

진단 도구 힙 차이 뷰Diagnostic Tools heap diff view

대신에 메모리 사용량 뷰의 왼쪽 링크를 클릭하면 힙 뷰가 개체 수를 기준으로 구성됩니다. 즉, 숫자가 가장 많이 증가한 특정 유형의 개체가 맨 위에 표시됩니다( 개수 차이 열을 기준으로 정렬됨).If you click the link on the left instead in the Memory Usage view, the heap view is organized by object count; the objects of a particular type that increased the most in number are shown at the top (sorted by Count Diff column).

리소스 사용 분석(XAML)Analyze resource consumption (XAML)

XAML 앱(예: Windows 데스크톱 WPF 앱 및 UWP 앱)에서 애플리케이션 타임라인 도구를 사용하여 리소스 사용을 분석할 수 있습니다.In XAML apps, such as Windows desktop WPF apps and UWP apps, you can analyze resource consumption using the Application Timeline tool. 예를 들어 애플리케이션 UI 프레임(레이아웃 및 렌더링)을 준비하고, 네트워크 및 디스크 요청을 처리하여, 애플리케이션 시작, 페이지 로드 및 창 크기 조정과 같은 시나리오에서 애플리케이션이 보낸 시간을 분석할 수 있습니다.For example, you can analyze the time spent by your application preparing UI frames (layout and render), servicing network and disk requests, and in scenarios like application startup, page load, and Window resize. 이 도구를 사용하려면 성능 프로파일러에서 애플리케이션 타임라인 을 선택한 다음 시작 을 선택합니다.To use the tool, choose Application Timeline in the Performance Profiler, and then choose Start. 앱에서 리소스 소비 문제가 의심되는 시나리오를 확인한 다음 컬렉션 중지 를 선택하여 보고서를 생성합니다.In your app, go through the scenario with a suspected resource consumption issue, and then choose Stop collection to generate the report.

시각적 처리량 그래프에서 낮은 framerate는 앱을 실행할 때 표시되는 시각적 문제에 해당할 수 있습니다.Low framerates in the Visual throughput graph may correspond to visual problems that you see when running your app. 마찬가지로 UI 스레드 사용률 그래프에서 높은 숫자는 UI 응답성 문제에 해당할 수 있습니다.Similarly, high numbers in the UI thread utilization graph may also correspond to UI responsiveness issues. 보고서에서 성능 문제가 의심되는 기간을 선택한 다음 타임라인 세부 정보 뷰(아래쪽 창)에서 세부 UI 스레드 활동을 검사할 수 있습니다.In the report, you can select a time period with a suspected performance issue, and then examine the detailed UI thread activities in the Timeline details view (lower pane).

애플리케이션 타임라인 프로파일링 도구Application Timeline profiling tool

타임라인 세부 정보 뷰에서 작업 유형 또는 포함된 UI 요소와 작업 기간 등과 같은 정보를 확인할 수 있습니다.In the Timeline details view, you can find information such as the type of activity (or the UI element involved) along with the duration of the activity. 예를 들어 그림에서 표 형태 컨트롤에 대한 레이아웃 이벤트는 57.53ms 걸렸습니다.For example, in the illustration, a Layout event for a Grid control takes 57.53 ms.

자세한 내용은 애플리케이션 타임라인을 참조하세요.For more information, see Application Timeline.

애플리케이션 이벤트 검사Examine application events

일반 이벤트 뷰어를 사용하면 모듈 로드, 스레드 시작, 시스템 구성과 같은 이벤트 목록을 통해 애플리케이션의 활동을 확인하여 Visual Studio 프로파일러 내에서 애플리케이션의 성능을 보다 잘 진단할 수 있습니다.The generic events viewer allows you to view the activity of your application through a list of events, such as module load, thread start, and system configurations, to help better diagnose how your application is performing right within the Visual Studio profiler. 이 도구는 성능 프로파일러에서 사용할 수 있습니다.This tool is available in the Performance Profiler. 디버그 > 성능 프로파일러 (또는 Alt + F2 )를 선택하여 성능 프로파일러를 엽니다.Open the Performance Profiler by choosing Debug > Performance Profiler (or Alt + F2 ).

이 도구는 각 이벤트를 목록 뷰에 표시합니다.The tool shows each event in a list view. 열은 이벤트 이름, 타임스탬프, 프로세스 ID와 같은 각 이벤트에 대한 정보를 제공합니다.Columns provide information about each event, such as the event name, timestamp, and process ID.

이벤트 뷰어 추적Event Viewer Trace

비동기 코드 분석(.NET)Analyze asynchronous code (.NET)

.NET Async 도구를 사용하여 애플리케이션에서 비동기 코드의 성능을 분석할 수 있습니다.The .NET Async Tool allows you to analyze the performance of asynchronous code in your application. 이 도구는 성능 프로파일러에서 사용할 수 있습니다.This tool is available in the Performance Profiler. 디버그 > 성능 프로파일러 (또는 Alt + F2 )를 선택하여 성능 프로파일러를 엽니다.Open the Performance Profiler by choosing Debug > Performance Profiler (or Alt + F2 ).

이 도구는 각 비동기 작업을 목록 뷰에 표시합니다.The tool shows each async operation in a list view. 비동기 작업의 시작 시간, 종료 시간 및 총 시간과 같은 정보를 볼 수 있습니다.You can see information such as the start time, end time, and total time for an async operation.

.NET Async 도구 중지됨.NET Async Tool Stopped

데이터베이스 성능 분석(.NET Core)Analyze database performance (.NET Core)

ADO.NET 또는 Entity Framework Core를 사용하는 .NET Core 앱의 경우 데이터베이스 도구를 사용하여 진단 세션 중에 애플리케이션이 수행하는 데이터베이스 쿼리를 기록할 수 있습니다.For .NET Core apps that use ADO.NET or Entity Framework Core, the Database Tool allows you to record the database queries that your application makes during a diagnostic session. 그런 다음 애플리케이션 성능을 향상할 수 있는 지점을 찾기 위해 개별 쿼리에 대한 정보를 분석할 수 있습니다.You can then analyze information about individual queries in order to find places where your app's performance can be improved. 이 도구는 성능 프로파일러에서 사용할 수 있습니다.This tool is available in the Performance Profiler. 디버그 > 성능 프로파일러 (또는 Alt + F2 )를 선택하여 성능 프로파일러를 엽니다.Open the Performance Profiler by choosing Debug > Performance Profiler (or Alt + F2 ).

이 도구는 각 쿼리를 목록 뷰에 표시합니다.The tool shows each query in a list view. 쿼리 시작 시간 및 기간과 같은 정보를 볼 수 있습니다.You can see information such as the query start time and duration.

AllocationAllocation

UI 성능 및 접근성 이벤트 검사(UWP)Examine UI performance and accessibility events (UWP)

UWP 앱의 진단 도구 창에서 UI 분석 을 사용하도록 설정할 수 있습니다.In your UWP apps, you can enable UI Analysis in the Diagnostic Tools window. 이 도구는 디버그하는 동안 일반 성능 또는 접근성 문제를 검색하여 이벤트 뷰에 표시합니다.The tool searches for common performance or accessibility issues and displays them in the Events view while you are debugging. 이벤트 설명에는 문제를 해결하는 데 유용한 정보가 제공됩니다.The event descriptions provide information that can help resolve issues.

진단 도구의 UI 분석 이벤트 뷰View UI analysis events in the diagnostic tools

GPU 사용량 분석(Direct3D)Analyze GPU Usage (Direct3D)

Direct3D 앱(Direct3D 구성 요소가 C++에 있어야 함)에서 GPU에 대한 활동을 검사하고 성능 문제를 분석할 수 있습니다.In Direct3D apps (Direct3D components must be in C++), you can examine activity on the GPU and analyze performance issues. 자세한 내용은 GPU 사용량을 참조하세요.For more information, see GPU Usage. 이 도구를 사용하려면 성능 프로파일러에서 GPU 사용량 을 선택한 다음 시작 을 선택합니다.To use the tool, choose GPU Usage in the Performance Profiler, and then choose Start. 앱에서 프로파일링에 관심 있는 시나리오를 확인한 다음 컬렉션 중지 를 선택하여 보고서를 생성합니다.In your app, go through the scenario that you're interested in profiling, and then choose Stop collection to generate a report.

그래프에서 기간을 선택하고 자세히 보기 를 선택하면 상세 보기가 아래쪽 창에 나타납니다.When you select a time period in the graphs and choose view details , a detailed view appears in the lower pane. 상세 보기에서 각 CPU 및 GPU에서 얼마나 많은 활동이 발생하는지를 확인할 수 있습니다.In the detailed view, you can examine how much activity is happening on each CPU and GPU. 맨 아래 창에서 이벤트를 선택하면 타임라인에 팝업이 표시됩니다.Select events in the lowest pane to get popups in the timeline. 예를 들어 현재 이벤트를 선택하면 현재 호출 팝업이 표시됩니다.For example, select the Present event to view Present call popups. (연한 회색 VSync 세로줄을 참조로 사용하여 특정 현재 호출에 VSync가 누락되었는지 여부를 확인할 수 있습니다.(The light gray vertical VSync lines can be used as a reference to understand whether certain Present calls missed VSync. 앱이 60FPS를 꾸준히 적중하려면 두 VSync마다 하나의 현재 호출이 있어야 합니다.)There must be one Present call between every two VSyncs in order for the app to steadily hit 60 FPS.)

GPU 사용량 프로파일링 도구GPU Usage profiling tool

또한 그래프를 사용하여 CPU 바인딩 또는 GPU 바인딩 성능 병목 현상이 있는지 여부를 확인할 수 있습니다.You can also use the graphs to determine whether there are CPU bound or GPU bound performance bottlenecks.

성능 분석(JavaScript UWP)Analyze performance (JavaScript UWP)

UWP 앱의 경우 JavaScript 메모리 도구 및 HTML UI 응답성 도구를 사용할 수 있습니다.For UWP apps, you can use the JavaScript Memory tool and the HTML UI Responsiveness tool.

JavaScript 메모리 도구는 다른 앱 유형에 사용할 수 있는 메모리 사용량 도구와 비슷합니다.The JavaScript Memory tool is similar to the Memory Usage tool available for other app types. 이 도구를 사용하여 앱에서 메모리 사용량을 확인하고 메모리 누수를 파악할 수 있습니다.You can use this tool to understand memory usage and find memory leaks in your app. 도구에 대한 자세한 내용은 JavaScript 메모리를 참조하세요.For more details about the tool, see JavaScript Memory.

JavaScript 메모리 프로파일링 도구JavaScript Memory profiling tool

UWP 앱에서 UI 응답성, 느린 로드 시간 및 느린 시각적 업데이트를 진단하려면 HTML UI 응답성 도구를 사용합니다.To diagnose UI responsiveness, slow loading time, and slow visual updates in UWP apps, use the HTML UI Responsiveness tool. 사용량은 다른 앱 유형의 애플리케이션 타임라인 도구와 비슷합니다.Usage is similar to the Application Timeline tool for other app types. 자세한 내용은 HTML UI 응답성을 참조하세요.For more information, see HTML UI responsiveness.

HTML UI 응답성 프로파일링 도구HTML UI Responsiveness profiling tool

네트워크 사용량 분석(UWP)Analyze network usage (UWP)

UWP 앱에서 Windows.Web.Http API를 사용하여 수행되는 네트워크 작업을 분석할 수 있습니다.In UWP apps, you can analyze network operations performed using the Windows.Web.Http API. 이 도구는 액세스 및 인증 문제, 잘못된 캐시 사용, 저하된 디스플레이 및 다운로드 성능과 같은 문제를 해결하는 데 도움이 될 수 있습니다.This tool may help you to resolve issues like access and authentication problems, incorrect cache-use, and poor display and download performance. 이 도구를 사용하려면 성능 프로파일러에서 네트워크 를 선택한 다음 시작 을 선택합니다.To use the tool, choose Network in the Performance Profiler, and then choose Start. 앱에서 Windows.Web.Http를 사용하는 시나리오를 확인한 다음 컬렉션 중지 를 선택하여 보고서를 생성합니다.In your app, go through the scenario that uses Windows.Web.Http, and then choose Stop collection to generate the report.

네트워크 사용량 프로파일링 도구Network Usage profiling tool

요약 뷰에서 작업을 선택하여 세부 정보를 확인할 수 있습니다.Select an operation in the summary view to view more details.

네트워크 사용량 도구의 세부 정보Detailed information in the Network Usage tool

자세한 내용은 네트워크 사용량을 참조하세요.For more information, see Network Usage.

성능 분석(레거시 도구)Analyze performance (legacy tools)

CPU 사용량 또는 메모리 사용량 도구에 현재 표시되지 않는 계측과 같은 기능이 필요하고 데스크톱 또는 ASP.NET 앱을 실행 중인 경우 성능 탐색기를 사용하여 프로파일링할 수 있습니다.If you need features such as instrumentation that are not currently present in CPU Usage or Memory Usage tools, and you are running desktop or ASP.NET apps, you can use the Performance Explorer for profiling. (UWP 앱에서 지원되지 않음).(Not supported in UWP apps). 자세한 내용은 성능 탐색기를 참조하세요.For more info, see Performance Explorer.

Visual Studio 2019에서는 레거시 성능 탐색기 및 성능 마법사와 같은 관련 프로파일링 도구가 성능 프로파일러로 중첩되었습니다. 이 프로파일러는 디버그 > 성능 프로파일러 를 사용하여 열 수 있습니다.In Visual Studio 2019, the legacy Performance Explorer and related profiling tools such as the Performance Wizard were folded into the Performance Profiler, which you can open using Debug > Performance Profiler. 성능 프로파일러에서 사용 가능한 진단 도구는 선택한 대상 및 현재 열려 있는 시작 프로젝트에 따라 달라집니다.In the Performance Profiler, the available diagnostics tools depend on the target chosen and the current, open startup project. CPU 사용량 도구는 이전에 성능 마법사에서 지원되었던 샘플링 기능을 제공합니다.The CPU Usage tool provides the sampling capability previously supported in the Performance Wizard. 계측 도구는 성능 마법사에 있던 계측된 프로파일링 기능(정확한 호출 수 및 기간을 알 수 있는)을 제공합니다.The Instrumentation tool provides the instrumented profiling capability (for precise call counts and durations) that was in the Performance Wizard. 추가 메모리 도구가 성능 프로파일러에도 표시됩니다.Additional memory tools also appear in the Performance Profiler.

성능 탐색기 도구Performance Explorer tool

어떤 도구를 사용해야 하나요?Which tool should I use?

다음 테이블에는 Visual Studio가 제안하는 다양한 도구 및 그와 함께 사용할 수 있는 다양한 프로젝트 형식이 나열되어 있습니다.Here is a table that lists the different tools Visual Studio offers and the different project types you can use them with:

성능 도구Performance Tool Windows 데스크톱Windows desktop UWPUWP ASP.NET/ASP.NET CoreASP.NET/ASP.NET Core
PerfTipsPerfTips yes yes yes
CPU 사용량CPU Usage yes yes yes
메모리 사용량Memory Usage yes yes yes
.NET 개체 할당.NET Object Allocation 예(.NET만 해당)yes (.NET only) yes yes
GPU 사용량GPU Usage yes yes 아니요no
애플리케이션 타임라인Application Timeline 예(XAML)yes (XAML) yes nono
이벤트 뷰어Events viewer yes yes yes
.NET Async.NET Async 예(.NET만 해당)yes (.NET only) yes yes
데이터베이스Database 예(.NET Core만 해당)yes (.NET Core only) nono 예(ASP.NET Core만 해당)yes (ASP.NET Core only)
성능 탐색기Performance Explorer nono 아니요no 아니요no
IntelliTraceIntelliTrace Visual Studio Enterprise만 포함된 .NET.NET with Visual Studio Enterprise only Visual Studio Enterprise만 포함된 .NET.NET with Visual Studio Enterprise only Visual Studio Enterprise만 포함된 .NET.NET with Visual Studio Enterprise only
성능 도구Performance Tool Windows 데스크톱Windows desktop UWPUWP ASP.NET/ASP.NET CoreASP.NET/ASP.NET Core
CPU 사용량CPU Usage yes yes yes
메모리 사용량Memory Usage yes yes yes
GPU 사용량GPU Usage yes yes 아니요no
애플리케이션 타임라인Application Timeline 예(XAML)yes (XAML) yes 아니요no
PerfTipsPerfTips yes XAML은 예, HTML은 noyes for XAML, no for HTML yes
성능 탐색기Performance Explorer yes 아니요no yes
IntelliTraceIntelliTrace Visual Studio Enterprise만 포함된 .NET.NET with Visual Studio Enterprise only Visual Studio Enterprise만 포함된 .NET.NET with Visual Studio Enterprise only Visual Studio Enterprise만 포함된 .NET.NET with Visual Studio Enterprise only
네트워크 사용량Network Usage 아니요no yes 아니요no
HTML UI responsivenessHTML UI responsiveness 아니요no HTML은 예, XAML은 noyes for HTML, no for XAML 아니요no
JavaScript 메모리JavaScript Memory 아니요no HTML은 예, XAML은 noyes for HTML, no for XAML 아니요no

참고 항목See also