Command-Line Profiling of ASP.NET Web Applications


This article applies to Visual Studio 2015. If you're looking for the latest Visual Studio documentation, use the version selector at the top left. We recommend upgrading to Visual Studio 2019. Download it here

This section describes the procedures and options for collecting performance data for ASP.NET Web applications by using Visual Studio Profiling Tools from the command line.


Enhanced security features in Windows 8 and Windows Server 2012 required significant changes in the way the Visual Studio profiler collects data on these platforms. Windows Store apps also require new collection techniques. See Performance Tools on Windows 8 and Windows Server 2012 applications.

Common Tasks

Task Related Content
Collect basic ASP.NET profiling data easily: Use the VSPerfASPNETCmd tool to collect sampling, instrumentation, .NET memory, contention, or tier interaction data without the configuration requirements and the Internet Information Services (IIS) restarts that are needed for VSPerfCmd. VSPerfASPNETCmd does not allow you to collect additional data or to control data collection. Note: VSPerfASPNETCmd is the preferred tool to use you use the standalone profiler to profile ASP.NET Web sites. - Rapid Web Site Profiling with VSPerfASPNETCmd
Collect application statistics: Use the sampling method to collect performance statistics. Sampling data is useful for analyzing CPU usage issues and for understanding the general performance characteristics of an application. - Collecting Application Statistics Using Sampling
Collect detailed timing data: Use the instrumentation method to collect detailed timing information. Instrumentation data is useful for analyzing IO issues and for fine-grained analysis of application scenarios. - Collecting Detailed Timing Data Using Instrumentation
Collect .NET memory data: Use sampling or instrumentation to collect .NET memory allocation data that shows you the size and number of allocated objects. You can also collect object lifetime data that shows you the size and number of objects that are reclaimed in each garbage collection generation. - Collecting Memory Data
Collect concurrency data: Use the concurrency method to collect resource contention data. Note: Collecting thread activity and visualization data is not supported for Web applications. - Collecting Concurrency Data
Add tier interaction data: You can add performance data about synchronous ADO.NET calls that the ASP.NET Web application makes to a Microsoft SQL Server database. - Collecting tier interaction data
Task Related Content
Profile stand-alone (client) applications - Profiling Stand-Alone Applications
Profile services - Profiling Services