How do you test the performance of your web site?

I wanted to get a feel for what tools people are using to test the performance of their website.  My questions are:

  • Do you check page-load times? 
  • Do you dig in to see which files are taking the time
  • How do you track down a page that uses a lot of memory
  • How do you track down a high CPU consuming page

I don’t want to list any possible tools as I’d like to hear what people are using without me putting any suggestions out.

If I don’t see some being mentioned, I’ll be sure to bring it up so we have a holistic view of the tools.

Look forward to seeing what people use.

Published 10 September 08 06:00 by Tom

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

# hhh said on September 10, 2008 10:15 AM:

I tried to use ms wcat to see how much req/sec can i get, but tool is too complicated, and I always get some errors. Documentation doesn't say nothing. MSDN has too many pages about it, and it's really hard to find step-by-step tutorial on how to set up some simple test environment.

# Mike Amundsen said on September 10, 2008 10:31 AM:

I usually use Firebug and YSlow plugins in the Firefox browser to check page (and component) load times.

I also have some 'metering' code within my web apps that writes log files w/ timing info. I do this since many of our server-side web apps load various data blocks and assembles the page before presenting it to the user.

Sometimes we use WCAT to build up test quites to pound certain pages or page-paths for the web app. We also use IIS logs and LogParser to get an idea of how things are running. Finally, we occasionally fire up PerfMon to keep an eye on currently running web apps.

BTW - Great blog. I read it regularly.

MikeA

# Phil Scott said on September 10, 2008 10:46 AM:

We've got plenty of power sitting behind our site (ah the joys of working for a web hosting company), so my main concern is optimizing the end users experience.  For that you really just can't beat YSlow and Firebug.

That being said, DotTrace has also proved quite valuable in tracking down hot spots on those slow loading pages.

# Francois Ward said on September 10, 2008 10:47 AM:

-The tools provided in the team edition SKUs for web development  can be useful as a first line to try out load testing. No point in going further if this works out good, so thats the first one.

-Ants profiler or dotTrace for profiling.

-Simply using the asp.net tracing feature is good to take a look during production.

I can honestly say that developing both small scale and large scale public web sites, thats as far as I ever had to go.

# Mark Hildreth said on September 10, 2008 11:02 AM:

For server-side numbers, I typically rely on page trace information. For client-side stuff (which is much more fuzzy), I usually use FireBug.

# Matt said on September 10, 2008 11:06 AM:

I am constantly using Redgate's ANTS Profiler to check my programs.

# Delf said on September 10, 2008 11:21 AM:

Don't forget the ViewState... I've already seen pages with more than 2mo of ViewState data...

# David said on September 10, 2008 11:37 AM:

I'm using WinDbg to debug my ASP.NET Application. My application isn't throwing exceptions. I'd like know how I capture the Request Stack (HttpRuntime, HttpApplication, Handler, Controls, etc.) (via !clrStack) in WinDbg.

When view threads (!threads), WinDbg always said that all of them are OS thread or to fail to load stack trace. I'm loading SOS.dll and mscorwks.dll, but the problem continues.

# Tom said on September 10, 2008 12:26 PM:

David,

In order to capture the request stack, you would need to have the program break at that time.  The easiest way to get this information would be the use the Managed Stack Explorer.  You can find it at:

http://www.codeplex.com/MSE

# redsquare said on September 10, 2008 12:31 PM:

A mixture of fiddler / firebug / yslow and wireshark.

Server side - logparser, ANTS tools and perf mon.

# Gregory Suvalian said on September 10, 2008 12:52 PM:

I liked tool called Homer which still can be used with up to Windows 2003. Unfortunately does not work with Win2008 due to perfomance monitoring API change I would guess. Here is URL (http://www.microsoft.com/technet/archive/itsolutions/intranet/downloads/webstres.mspx?mfr=true). Easy to setup. Full GUI (unlike WCAT), multiple client support etc etc etc. I don't understand why Microsoft discontinued this wonderfull product (probably becouse it completes with paid-for VS Team Suite tool)

# Jaime said on September 10, 2008 12:59 PM:

We use ANTS, Firebug/YSlow and we setup MRTG getting perfcounterlogs to constantly monitor our servers

# Elijah Manor said on September 10, 2008 1:26 PM:

Here is a list of nice tools to help test your web site... http://tinyurl.com/5gsse6

# Anas Ghanem said on September 10, 2008 2:37 PM:

I use Firebug to watch the scripts and styles and the rendered size of that page .

Also I watch the ViewState and the controls size  by enabling page trace .

# Ryan said on September 10, 2008 2:41 PM:

Firebug/YSlow for client side.

If it's database-driven and the calls are slow we use SQL profiler.

I haven't found anything that's easy to use that help with resource usage or load testing.

# Matt said on September 11, 2008 4:15 AM:

My site has over 20k concurrent users at any one time. I pretty much do the following:

Religiously check performance of all sprocs and partitioned views and of sql server as the db grows.

Everything is gzipped, without this, I would go out of business.

My asp.net code is fairly simple and cannot be really optimized further - but I have taken a great deal of time to reduce http calls by using css spriting for all structurural images and menus.

I use a CDN for images as this enables browsers to make parallel usage of http ports, faster load time, and expires headers are set.

I could go on - personally I feel that the bottlenecks are hardly ever to so with asp.net, start at sql server (and keep at it) and focus on reducing packet sizes and network calls. Any page that tends to use a lot of resources ends up getting cached as output or where poss the data is cached.

# RK said on September 11, 2008 6:09 AM:

I use these tools -

Fiddler

Firebug and YSlow

IIS Tracer - http://iismonitor.motobit.com/

Visual Studio 2008 Profiler

# Stoian Bucovich said on September 11, 2008 9:58 AM:

What I am using to do web pages tests is called "HttpWatch" unfortunatly it can be used only with IE. It has planty of information that gives you back for the page loading process and the web server.

# zuborg said on September 11, 2008 10:19 AM:

I would recommend this free online tool: http://Site-Perf.com/

It measure loading speed of page and it's requisites (images/js/css) like browsers do and shows nice detailed chart.

Also very useful thing is that this tool is able to verify network quality of your server (packet loss level and ping delays).

# Jeff said on September 15, 2008 4:47 AM:

I use IISPools tool from http://www.hoststools.com it helps to find the CPU usage etc. It is better to place the site into a separate pool before the analysis.

# Sonia said on September 18, 2008 3:00 PM:

I use firebug and dot tracer from jet brains and we use perfmon to have a look on how our web servers are doing.

# Internet Radio said on November 24, 2008 8:12 AM:

Archiv aus Deutschland und aller Welt mit Informationen und Links zum Empfang von Webradio, Web-TV

Leave a Comment

(required) 
(optional)
(required) 

  
Enter Code Here: Required

Search

This Blog

Syndication

Page view tracker