About/Contact

Steve Trefethen

Steve Trefethen is CTO at Wanderful Media.
Contact me

View my LinkedIn profile



Calendar

<<  June 2013  >>
MoTuWeThFrSaSu
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

View posts in large calendar

Disclaimer

The posts on this weblog are provided AS IS with no warranties, and confer no rights. The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.



Improving Site Performance

April 05 2010 11:11PM

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

FacebookDel.icio.usDigg It!

Comments (10) -

4/6/2010 12:39:34 PM #

Looking forward to see the results after you updates. I have the same issue in my website.

Andreano LAnusse United States

4/6/2010 4:30:26 PM #

Hi Andreano,
  I will post a new chart from Google as soon as they I get a few more data points. It will probably take a week or two before I start to see any useful data but I'm expecting a pretty dramatic improvement so fingers crossed!

Steve Trefethen United States

4/6/2010 8:43:53 PM #


I tried to start from the JavaScript side, i'm using WordPress and if use start to combine the JavaScript files I have to change the plugins code, it means for every new plugin update I will need to update the code again.

The solution I found to combine the JS files, assume all JS is in one folder.

In your .NET solution did you move all JS files to one folder?

Andreano Lanusse United States

4/7/2010 8:32:30 AM #

If you look at the .NET solution I used (linked above) it's actually _much_ nicer than that. You create a text file containing the reference to the JS files you want to include and it will combine all of them for you. You can also version the file so browsers "know" when to down load it again if it's cached.

Steve Trefethen United States

4/11/2010 2:29:42 AM #

I found a very similar solution for wordpress WP Minify - http://wordpress.org/extend/plugins/wp-minify/ , so far work for most of javascript in my site, let's if the changes I did improve my website performance Smile

Andreano Lanusse United States

4/11/2010 9:50:55 AM #

I'm on the same journey and I have also migrated to discountASP.NET - so far so good.

I will try the minify suggestions you make. I'm also a paid-up member of the PNGOut products, but I think the link is broken. I use the paid-for Windows version he sells, which is well worth it: http://www.ardfry.com/pngoutwin/

Rupert Rawnsley United Kingdom

4/11/2010 10:18:40 AM #

Hi Steve,
I've been fiddling with my own personal cache/proxy server (C2010+Indy) over the last few days, and one thing that I noticed in over one thousand pages that was cached: yours was the single *only* one that used "Content-encoding: deflate"... any reason to prefer it instead of gzip?

PaulF Portugal

4/11/2010 10:51:52 AM #

Hi PaulF,
  I use the compression as provided by IIS7 and didn't really dig into the specifics. When I get a chance I'll take a look and see what's up.

Steve Trefethen United States

4/11/2010 3:00:35 PM #

PaulF,
  I figured it out. This post should explain things considering I'm running BlogEngine.NET:

madskristensen.net/.../...nce-GZip-vs-Deflate.aspx

Steve Trefethen United States

4/25/2010 7:48:37 PM #

Steve, did your changes make any diference in your website performance?

My changes not

Andreano Lanusse United States

Add comment




  Country flag
biuquote
  • Comment
  • Preview
Loading