New to Profiler...How to

Hello, I'm kind of new to profiler and was curious about how I can get this to work the best for my business.

I support an application that has around 1000 concurrent users. We recently had a stress/load test with around 500 users to test our upgrade from .NET 1.1 to .NET 3.5 and the system came to it's knees. It is a WinForms application with all database connections/activity via webservices. Since that test, I've been tasked with trying to figure out why the system is so bad only in .NET 3.5. My first thought is that it's a memory leak problem, but obviously with a system this large, there are many possibilities.

I've had a copy of ANTS Profiler for awhile but have never used it. So here's my question, since this is a server based application that lives in a separate domain from my machine is located, do I install profiler on the server itself then? I tried running it from my own machine and it wasn't able to catch anything. Is this program designed to be able to track multiple users/sessions in the system, or do want to test with only 1 user, and try and process as many of the 1000 different transactions that can be done.

If more background info of the system is needed, please let me know. Any help on this subject is greatly appreciated.



  • As a follow-up to my first post...

    When running this against the hosted website (iis), it does not catch any of my code, only the system code. Where am I going wrong in my setup?
  • Ok, how bout this...

    Does Visual Studio need to be installed in order to view all of the methods that profiler is supposed to be able to catch?
  • You will need to run the profiler on the machine running the application you wish to profile. In general it is better to try to reproduce the issue you are seeing in a test environment rather than a live environment (though if it only shows up under real life loads, the live environment might be the only option). ANTS has to restart the app pool and will slow down its operation while profiling, although the v5 memory profiler is designed to be very low impact compared to its predecessor.

    ANTS determines whether or not running code is yours or not by looking at the program debug data (.pdb files). For websites, you will also have to add the debug option to the web.config files if you want this feature. Visual Studio is not required for this. Even if you don't have the PDB files you can still profile method-level timings for all methods: after you have the results you will need to set ANTS to show all methods instead of only methods with source (the default).
    Andrew Hunter
    Software Developer
    Red Gate Software Ltd.
  • Thanks Andrew!

    I finally got it setup and working. First time through I was tracking too many statistics and it crashed after about 10 minutes.

    Second time through, with only 10 users going against 1 app server, no one was able to get past the login screen.

    Can't believe that .NET 1.1 to .NET 3.5 would have that much of an impact. 1000 users on 9 servers compared to 10 users on 1 server and that pretty much spells trouble with a capital "T"!
  • Are you able to send any profiling results to:

    [email protected]

    I'll take a look and see if there's any optimisation that can be done.
  • Sounds good. I'll send that now.
  • Chris, my zipped file size is 38MB, do you have any ftp site? If you do, you can reply to [email protected] to let me know of that site.
Sign In or Register to comment.