23

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

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

UpTheCreek
  • 31,444
  • 34
  • 152
  • 221

6 Answers6

15

Stack Overflow have released their own profiler as a new opensource project

http://miniprofiler.com/


UPDATE:

It's also worth mentioning Glimpse as another alternative profiling tool

http://getglimpse.com/

Community
  • 1
  • 1
Korayem
  • 12,108
  • 5
  • 69
  • 56
  • 1
    Scott also has a [post](http://www.hanselman.com/blog/IfYoureNotUsingGlimpseWithASPNETForDebuggingAndProfilingYoureMissingOut.aspx) on Glimpse, ok what yout think on **min profiler vs glimpse** , which to use when profiling a online shopping site ? – Shaiju T Feb 23 '16 at 09:45
  • Thanks @stom I added link to Glimpse as an alternative tool. – Korayem Feb 28 '16 at 09:49
7

Glimpse is a helpful tool. It provides many detailed information and has support for EF and both Asp.net webforms and MVC. Hope this helps someone.

Mat J
  • 5,422
  • 6
  • 40
  • 56
  • For those, like me, who are interested in Glimpse for use in ASP.NET Core 2.0; it does not appear to be currently supported: https://github.com/Glimpse/Glimpse.Prototype/issues/123 – Tod Birdsall Jan 08 '18 at 18:21
3

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.

Community
  • 1
  • 1
Mike Dunlavey
  • 40,059
  • 14
  • 91
  • 135
  • Unless I misunderstand something, I think this only will work with Java based applications. – UpTheCreek Jun 10 '10 at 14:15
  • 1
    @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 Jun 10 '10 at 18:12
3

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

isuruceanu
  • 1,157
  • 5
  • 23
3

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
  • 11,440
  • 2
  • 42
  • 69
2

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
  • 1,023,142
  • 271
  • 3,287
  • 2,928
  • 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 Jun 10 '10 at 09:50
  • 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 Jun 10 '10 at 09:55