views:

124

answers:

4

How are people currently profiling the performance of their ASP.NET MVC applications?

I'd be most interested in simple and free approaches.

+1  A: 

You may take a look at JMeter which is a free Java based desktop application allowing you to load test any web application. Another free tool is The Grinder.

Darin Dimitrov
Thanks, these are interesting and may be useful to me, but I'm really looking for solutions that will be able to pinpoint bottlenecks/candidates for optimisation within the application code.
UpTheCreek
There are some good profilers such as ANTS Profiler from Redate or dotTRACE from JetBrains but they are commercial. They provide trial versions that might be worth checking though.
Darin Dimitrov
+1  A: 

Can you use this technique? It's free and it works with any language or platform. It precisely locates points to optimize, though as a measurement method it is imprecise. It is low-tech, but here's discussion of why it works.

Mike Dunlavey
Unless I misunderstand something, I think this only will work with Java based applications.
UpTheCreek
@UpTheCreek: I've used it on every language and platform I've ever used since I stumbled on it, as others have. All you need is a way to halt the program at a random time (not with a breakpoint) and examine its state, including the call stack. If there are multiple threads, either halt them all, or deal with one at a time. It works because if some activity takes x% of the time, then you will catch it in the act x% of the times you halt it. (It's not highly accurate at *measuring* the problem. It is highly accurate at *finding* it.)
Mike Dunlavey
Ok, I'll look into it in more detail then. thanks.
UpTheCreek
+1  A: 

My best candidate is dotTrace profile from JetBrains.Have a look here

isuruceanu
A: 

If you're serious about performance profiling then you might need to spend some money. I've spent a lot of time using Redgate's ANTS profiler and it has helped me find some very unusual aspects of my code that have caused performance problems.

Mike's suggested technique is good, and I've used that too, but if you really want to dig into the hot spots and how those hot spots were called then tools like dotTrace and ANTS are very good. Personally I prefer ANTS but dotTrace will do the job too.

Martin Peck