views:

119

answers:

5

Hi,

We've build a Web Application which is performing horrible even with alot of resources available. My boss doesn't believe me that the application is consuming alot of Hardware IO, so I have to prove that the hardware is ok, but the web app is really crap.

The app is using:

  1. SQL Server 2000 with SP4
  2. The main web application (.NET 3.5)
  3. Two Web Services (.NET 1.1)
  4. Biztalk 2004

There are 30 people using this apps.

How can I prove I am right?

A: 

One place you could start is getting a performance profiler like Red-Gate ANTS profiler. I've used this tool and it's very useful is weeding out performance bottlenecks.

Randy

Randy Minder
+2  A: 

You can hook up a profiler like ANTS profiler or JetBrains DotTrace and see where the application's performance bottlenecks are.

Håvard S
A: 

You could start by using SQL Server Profiler to get an impression of the amount of database traffic that is going on.

I'm not saying that database interaction is the bottleneck, but it often is, and the tool is already there if you are using SQL Server, so it may be a good idea to take a look at that before you go out and buy a lot of profiling tools.

Visual Studio 2008 also have built-in performance analysis tools.

Mark Seemann
A: 

Windows performance counters are a good way to get some basic information about general system performance. Proper counters will show you if it's really the IO that's doing lots of stuff. If you take out the numbers from the counters and compare those to the specs, you should be able to tell if the system is maxing out or not.

If the system is maxing out, it's a problem with the web application, and it should be profiled to find out where to start optimizing.

Morri
A: 

You could use the system performance monitor built into windows since at least XP. You can get almost any information you could possibly need. This includes CPU time, .NET memory usage (include gen0 gen1 and gen2), native memory usage, amount of time spent garbage collection, disk access time, etc. If you just search codeproject or just the web there are many examples of using these counter to test for just about anything you want.

One of the benefits of this is you don't have to change your code and can be used with existing system.

I find this is the best starting point to point you to where you should look for bottle necks and issues.

Jim Kramer