We are experiencing a series of performance issues with high user volume with our asp.net application on production servers. The sql database runs ok.
I suspect the issue relates to thread synchronization and locking mechanism (c# lock statement).
Is there any profiling tool that I can run on the production server (release code) and find which C# functions are taking the longest time or find the performance issue?
Thank you,
One of the way is to use Performance Counters – see
You can also use ASP.NET tracing to see at which events you are loosing time. For that matter, you can use your custom logging through-out the application to see where you are spending the time – however, that requires modifying your code. ASP.NET tracing will allow you to use the existing code to see time spent at various ASP.NET request life cycle events.
Lastly, from profiling perspective, you can use tools such as jetBrains dotTrace or Redgate ANTS Profiler.