Search
Dawn Parzych - Dawn's Blog
You are here: DevCentral > Weblogs

posted on Monday, April 20, 2009 5:58 AM
I maintain a personal blog on Blogger and was pleased to recently see an article on how to make my blog load faster.  Being an acceleration junkie I was very interested in what was recommended given that many of the items that typically influence the load time of a page are server side configurations which I have no control over with a hosted service like Blogger.  

Some of Blogger's recommendations:

  1. Limit the number of posts displayed per page to 10 or less. 
  2. Reduce the size of images.
  3. Post images to a web album and post the link instead of all the images. 
  4. Put third party JavaScript at the bottom of the page. 

All very good recommendations but nothing I can do to speed up my page.

  1. I only display 7 posts per page.
  2. The images I upload usually are less than 20K (sometimes a few larger ones sneak through).
  3. I do utilize web albums - I have my own site and use Flickr (surprisingly not the service Blogger recommends). 
  4. The only third party JavaScript I use is for analytics and that is on the bottom of the page. 

I decided to check out what Blogger was doing on its side to speed up the delivery of my blog and I was a little surprised by some of my findings.  

Image Size

As Blogger recommend small image sizes I took a look at all the images on the home page.   As many of the images are part of the framework of the page.  The largest image isn't even one of mine, it's a 39K header image.  Nothing I can do to reduce the size of this except change the template being used. 

Cache-Control Headers

One of the best things to improve the load time of a page for repeat visitors is to set far futures expire headers.  Of the 38 objects on my home page 16 objects have an expiry of 1 year or greater (excellent), 3 are set for 1 week (good) and 15 are set to 24 hours (not so good) and the rest expire immediately or close to it.   The 15 images that only have a 24 hour expiry are images I have personally uploaded.  The items that are part of the framework benefit from a long expiry but my personal items don't.

   This means that repeat visitors to my blog need to execute a conditional GET request for these objects each and every time.  I'm curious why these don't get the same long expires as the framework does?  Once I upload a picture I don't change it and even if I do it appears that the naming convention used by Blogger would result in a different name when re-uploaded.  

Multiple Domains

The majority of the browsers on the market today limit the number of open connections that can be established to an individual server.  This restriction is determined by the domain name, different domains are considered to be different servers.  Using multiple domain names allows for content like images to be downloaded in parallel speeding up the delivery of the page especially over high latency links.   The folks over at Blogger realized this and use many different domains for the content but it looks like they went a bit overboard.  There are 8 different domains being used to load the 38 objects on the page, this means 16 TCP connections.  Is this really speeding up the page or does this many TCP connections slow things down?

Technorati Tags: ,,


Feedback

No comments posted yet.

Let Me Know What You Think


Please use the form below if you have any comments, questions, or suggestions.

Title:
 
Name:
 
Email: (so we can show your gravatar)
Website:
Comment: Allowed tags: blockquote, a, strong, em, p, u, strike, super, sub, code
 
Please add 4 and 6 and type the answer here:

82,243 Members in 102 Countries and Growing!

Join DevCentral Today!

About DevCentral

DevCentral has been a successful, thriving community for many years. We have always strived to bring you the best technical documentation, discussion forums, blogs, media and much more that we can.

So dive in, get familiar with DevCentral. We hope you like it, we hope it makes your job easier, and lets you get that much more power out of the community. To learn more, make sure to check out the Getting Started section. And if you have any problems, or think something could be easier to use, drop us a line to let us know.

Got It !

We've received your comment and transmitted it directly to DevCentral HQ.

Thanks for taking time to let us know what's on your mind. At DevCentral | Community Matters!

Get In Touch With Us

Have questions, suggestions or just want to get something off your chest?

Use our handy form below to Direct Connect with DevCentral Mission Control.

Send Us Feedback       or