Question

I would like to have a better view of what the application is doing. We are monitoring the ASP.NET and .NET counters but we need a deeper view of what is happening, and how fast it is happening. What is best practices regarding this, and is there specific guidance or documents available for the Microsoft.NET environment? Would I use the enterprise library for this? We are already using parts of the library for getting the data into our application.

Our biggest pain at this point:

  • Very little in way of troubleshooting the application

    (There is logs but the logging is done so excessive that the logs have become practically useless because of the size)

  • Having minimal impact on the existing performance
  • No visibility to what the Enjim client is doing, in terms of hits misses etc.
  • Monitor very unique performance (like mem cache server dead)

Bonus

  • Use collected data within MOM
  • Use this data to optimize the application there where it will have the best affect
  • Increase maintaibility of the system, so our opperations people can look after this system easier.
Was it helpful?

Solution

There are two places you should focus.

First, in your test environment, you should be using a code profiling tool (like the kind built into VS) to see what code paths are actually being executed. This reveals by far the most details into your app, but it can be difficult and time consuming to set up a good simulation of your production environment and load.

Second, use custom performance counters in your production code. We create our own performance counters, and install them with a setup utility. This adds some complexity, but you really can't beat having them for insight into what your web application is doing.

The act of updating a performance counter is minimal. It's the reading of the performance monitor which can add some overhead (counter-intuitive, I know).

The version of the Enterprise Library Library we're using (3.1) does not have any direct support for custom performance counters, although it does install a number of counters for itself. I don't think these are the ones you want.

OTHER TIPS

Take a look at Design for Operations. This includes tools that will help you instrument your application. These tools also help you create a health model for your application that can be used by MOM for health monitoring.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top