Benchmarking Web Sites using Siege

January 11, 2009

Benchmarking a Web site is the simple act of measuring its performance. Measurements may look at how long it takes a page to load in the client (see my post on the YSlow Firefox plug-in). This can be a reflection of the page itself—the amount of images, HTML, JavaScript, CSS, and other media—and a reflection of the client: their download speed, their computer speed, the browser they’re using, etc. Because of the client-side factors, this kind of benchmarking is best, I feel, to just analyze the amount of information being downloaded and how efficiently that’s taking place (again, see YSlow for more on this).

On the other side of the equation, you can perform benchmarks on the server. Finding, and later improving upon, these measurements will improve the experience for all clients, regardless of download speed, computer, or browser type. This is particular important when using server-side technologies like PHP.

Among the many utilities available to benchmark a Web site is Siege, from Joe Dog Software. One of the nice things about Siege, besides it being free, is that it tests a Web server under duress, something that’s impossible for a single individual to replicate. So you can tell Siege to access your site using X number of simulataneous connections and then see the result. On the downside, you have to compile it on Unix-like systems, including Mac OS X, in order to use it. For more, see the Siege Web site and it’s simple-to-follow manual.