Accelerating the Mobility of Things

Performance Monitoring of ASP.Net Application – Part 2 : Tools

Preface:

I hope you may have enjoyed the first part of this series “Performance Monitoring of ASP.Net Application”. Now as we have got basic information about the performance monitoring of the ASP.Net application using performance counters, you may have found the problamatic areas of application and now it is time to dig more into  the application behavior to resolve the performance issue.

To resolve performance issue, mostly it is required to find out the area which is the origin of performance issue and to achieve this different third party or free  tools are available in the market based on the technology, framework and infrastrcture of the application. As this is one book full topic, we have narrow down our concentration only for ASP.Net Application performance monitoring and we will describe about most popular and frequently used tools for performance monitoring of ASP.Net applciation.

As ASP.Net is baby of Microsoft – who is major on different user wanted OS, there are many native tools available for ASP.Net application monitoring on windows platform thus windows servers. We have identified around 12+ such tools which are mostly used for initial and advanced debugging or monitoring individually or in group. And each tool itself can accomodate one full chapter information, we will just list out the tools and brief information of each tool.

The .Net tracing should be enabled for most of the tools for debugging of ASP.Net application, so we will give brief information about .Net tracing before the tools list.

.Net Tracing

The tracing can be enabled at different level as below:

  1. Application level tracing — Enable by setting   enable=true for trace section under system.web
  2. Page level tracing — Enable by setting   trace=true in page directive

Apart from this we can write details to trace log from the  code as well  whenever required.

One can read the trace information by opening trace.axd from  server using web browser.

ASP.Net Application Performance Monitoring Tools

There are some tools which are described separately eventhough it’s containing SDK or Toolkit described here based on importance.

Tool Name Use
LogParser Log parser is a powerful, versatile tool that provides universal query access to text-based data such as log files, XML files and CSV files, as well as key data sources on the Windows ® operating system such as the Event Log, the Registry,   the file system, and Active Directory ®.
DebugView This  is an application that lets you monitor debug output on your local system, or  any computer on the network that you can reach via TCP/IP. It is capable of  displaying both kernel-mode and Win32 debug output, so you don’t need a  debugger to catch the debug output your applications or device drivers  generate, nor do you need to modify your applications or drivers to use  non-standard debug output APIs.
CLR Debugger This tool provides debugging services with a graphical  interface to help application developers find and fix bugs in programs that  target the common language runtime.
Windows SDK  (included Microsoft Windows Performance Toolkit) The  included Microsoft Windows Performance Toolkit designed for analysis of a  wide range of performance problems including application start times, boot  issues, deferred procedure calls and interrupt activity (DPCs and ISRs),  system responsiveness issues, application resource usage, and interrupt  storms. It has tools like XPerf, XPerfview, Xbootmgr, WinDBG, KD, CDB, NTSD,  MDBG etc.
WinDbg + Psscor4 Psscor4 can help you diagnose high-memory issues,  high-CPU issues, crashes, hangs and many other problems that might occur in a  .NET application; in scenarios involving live processes or dump files.
DebugDiag This  is designed to assist in troubleshooting issues such as hangs, slow  performance, memory leaks or fragmentation, and crashes in any user-mode  process. The tool includes additional debugging scripts focused on Internet Information  Services (IIS) applications, web data access components, COM+ and related  Microsoft technologies.
IIS Diagnostics Toolkit is a compiled set of tools aimed at reducing the overall time to resolve problems with Internet Information Services (IIS) products.-Authentication and Access Control Diagnostics 1.0-SSL Diagnostics 1.1-SMTP Diagnostics 1.0-Log Parser 2.2

-Trace Diagnostics 1.0

-WFetch 1.4

-Debug Diagnostics 1.0

ADPlus.vbs ADPlus  (adplus.vbs), also known as Autodump+, is a console-based Microsoft Visual  Basic script. This tool automates the CDB debugger to produce memory dumps  and log files that contain debug output from one or more processes.
Health Monitoring ASP.NET version 2.0 health monitoring supports many  standard events that you can use to monitor the health of your application.
Examples of security related events that are automatically generated include  logon failures and successes when using the ASP.NET membership system,  attempts to tamper with or reuse forms authentication tickets, and  infrastructure events such as disk access failures. This How To explains how  to create custom events that use the same underlying infrastructure and raise  them in your code to supplement the system-defined events.
WinDBG + SOS The  SOS Debugging Extension (SOS.dll) helps you debug managed programs in the WinDbg.exe debugger and in Visual Studio by providing information about the  internal common language runtime (CLR) environment. This tool requires your  project to have unmanaged debugging enabled. You can also use the SOS  Debugging Extension with the Windows debugger (WinDbg.exe).
MDbg The NET Framework Command-Line Debugger helps tools  vendors and application developers find and fix bugs in programs that target  the .NET Framework common language runtime. This tool uses the runtime  debugging API to provide debugging services. You can use MDbg.exe to debug  only managed code; there is no support for debugging unmanaged code.
CLR Profiler CLR  Profiler enables you to look at the managed heap of a process and investigate  the behavior of the garbage collector. Using the various views in the tool,  you can obtain useful information about the execution, allocation, and memory  consumption of your application.CLR  Profiler is not a starting point for analyzing problems. Rather, it helps you
identify and isolate problematic code and track down memory leaks. Using CLR  Profiler, you can identify code that allocates too much memory, causes too  many garbage collections, and holds on to memory for too long.

Conclusion:

I am sure that the above list contains most of the and frequently used free tools. There are world class third party tools available in market but this post will help in you for decision making about the tools etc. Enjoy exploring the tools and let me know your feedback about the tools and queries if you have any.

Thanks.

VN:F [1.9.10_1130]
Rating: 8.5/10 (6 votes cast)
Performance Monitoring of ASP.Net Application - Part 2 : Tools, 8.5 out of 10 based on 6 ratings

SharePost

0Likes

38 Comments

Leave a comment

Your email address will not be published. Required fields are marked *