Performance optimization in software development can be a deeply polarizing issue among programmers. Fortunately, for the .NET developer there are some amazing development tools, that take the toil and presumptions, out of profiling and performance testing the code that can make your life easier!
This blog post is a list of the various types of ASP.NET tools at your disposal for finding and optimizing ASP.NET performance problems. Depending on the task, some of these tools will be much better than the others.
CodeXL is a comprehensive tool suite that enables developers to harness the benefits of CPUs, GPUs and APUs. CodeXL is available both as a Visual Studio® extension and a standalone user interface application for Windows® and Linux®. It includes:
- Powerful combined Host + GPU debugging
- DirectX® 12 and Vulkan® Frame Analysis
- Comprehensive GPU and CPU profiling
- Static OpenCL™, OpenGL®, Vulkan® and DirectX® kernel/shader analysis capabilities
- APU/CPU/GPU power profiling
dotTrace is a performance profiler for .NET applications that works right in Visual Studio and provides great ways to detect and analyze performance bottlenecks. Some of supported types of applications
- Profile all types of .NET applications – dotTrace helps you locate performance bottlenecks in a variety of .NET applications, including desktop applications, .NET Core, ASP.NET applications hosted on IIS or IIS Express web servers, Silverlight, WCF services, Windows services, Universal Windows Platform applications, and unit tests.
- Timeline and more profiling modes – Unlike “classic” performance profiling that only lets you measure method call execution time, timeline profiling reveals how calls are distributed in time.
- New profiling experience – You can slice and dice profiling data using filters, the call tree, or diagrams. By applying filters, you get a set of time intervals selected by a specific condition. The way it works is very similar to executing a query on a database to get exactly the data you need.
- Deep Visual Studio Integration – Profile async calls – dotTrace allows you to easily analyse asynchronous code: All “parts” of an async call are shown in one place, so that you don’t need to search for them in different call stac and many more features
Red Gate ANTS Performance Profiler and ANTS Memory Profiler are another set of commercial tools that profile .NET executables, ASP.NET applications and Web services in IIS, IIS Express, and Web Development Server, SharePoint 2007 or 2010 collections, Silverlight applications, Windows services, and COM+ applications.
Telerik JustTrace – Telerik JustTrace is a tool for .NET developers that gathers and analyses performance and memory usage data of various types of applications, thus helping developers optimize performance, reduce memory usage, fix memory leaks and generally understand the performance and memory profile of their applications.
Many other tools for Advanced Windows & .NET Monitoring, ASP.NET Failed Request Tracing, Web Server (IIS) Access Logs, trace custom Metrics or Key Performance Indicators (KPIs) , Windows Performance Counters would be discussed in details in subsequent blogs.
Currently, we conclude that depending on what you are trying to accomplish, there are a lot of .NET monitoring tools available to you. Every application problem is different. Over time you will probably use all the different types of tools listed here. It is good to at least know what options are available to you and we hope you found this list helpful. You can write to us to further discuss firstname.lastname@example.org