Tuesday, September 4, 2007

Poor Man's Performance Lab

Every software project I've ever worked on has had "a performance problem". Eventually, you will have to do a performance profile of your application. So now what?

Sometimes you get to buy the big tools: OPTNET, Mercury Load Runner, etc. Sometimes you have a whopping (sarcasm alert!) $500 budget and a couple of machines you can repurpose. Here's my basic setup for performance profiling a web application on the cheap:

1. SQL Profiler (or the equivalent for your database).

2. WireShark installed on each tier

3. FireBug and YSlow installed on the client

4. JMeter (or MS ACT if you're a C# environment) on the client for generating load.

Total cost of software: $0

Your hardware needs will vary, but you will need at least enough to replicate the tiers you have in production. If production is a one-box setup, then you need one box in QA. If production has separate web tiers, app tiers, and database tiers, then you're looking at 3 or more boxes. Hopefully you have this already from your functional testing.

In another post we'll talk about how to use this setup effectively.

No comments:

Post a Comment