Category Archives: Performance

Improving Site Performance

I run BlogEngine.NET and recently logged into Google WebMaster Tools and was a little surprised to read the following paragraph and see the related chart:

Performance overview

On average, pages in your site take 6.8 seconds to load (updated on Apr 4, 2010). This is slower than 82% of sites. These estimates are of low accuracy (fewer than 100 data points). The chart below shows how your site’s average page load time has changed over the last few months. For your reference, it also shows the 20th percentile value across all sites, separating slow and fast load times.

Chart

Yikes! Not. Good.

As you can see I was able to make some quick changes in March that helped but clearly I’m far from being in the sweet spot.

What I Did

Using Google’s Page Speed and Yahoo’s YSlow I started chipping away at the issues. I started on the JavaScript side and added this combine, compress and minify HttpHandler which turned out to be quite easy. Next, I applied Ken Silverman’s pngout utility (warning: his background will hurt your eyes) to my images and minified and combined several CSS files as well as set default images sizes.

Updated April 11, 2010 I’ve turned off Gravatar because it’s too damn slow particularly for pages with lots of comments. That page used to take 10 seconds to load now it’s just a few seconds.

Migrating to IIS7

Over the weekend I took the plunge and used the Migration tool on my discountASP.NET (which btw, I highly recommend) account and moved to IIS7. You can read about how that went here but for the most part things were pretty seamless although my site was down for 16 hours or so. After the migration I setup the MS IIS Manager for remote administration allowing me to set cache expiration headers for lots standard images.

The net result, starting at 78/100…

Page Speed Score 88/100

And from a “C” to an “A” on the YSlow report card:

YSlow performance score

At this point, it’s going to be a few more days before Google’s WebMaster Tools re-executes its performance tests but I’m hoping for some dramatically improved results.

What’s your verdict? How’d I do?

[Update April 13, 2010] This chart from Google WebMaster Tools of download times is starting to show the improvements I’ve made:

image