Making Your Blog Faster and Greener

I’ve been meaning to blog this for a while now. On June 6 at Beer and Blog here in Portland, Jason Grigsby gave an informal talk about how to make your website/blog faster and therefore greener.

Sounds a bit like voodoo, but the logic is sound. Cheap and plentiful broadband and iron have made website optimization a thing of the past. If you did site development in the days of dial up, you’ll remember all the tips and tricks to making your site load faster. Remember the eight second rule?

Jason cites research stating that the average web page has increased in size 22 times, with the number of objects per page growing by 21.7 times since 1995. Since 2003 alone, web page size has tripled and the number of objects per page has doubled.

This comes as no surprise as broadband becomes the standard for Interwebs access.

According to the Pew Internet Project, 77% of US home internet users have a broadband connection, and broadband is now present in the majority (55%) of American households.

As the pipe grows, additional content like videos and images are added without fear of slowing down page load times.

So what does all this have to do with the environment? Obviously, consuming less energy translates into using less natural resources, which ideally lessens the impact we have on the overall environment.

The unexpected side effect here is at the data center. Jason observes:

. . . businesses are now being told that they cannot bring any more power into their data centers. The power company is simply refusing to provide them with more capacity.

In many cases, the cost of powering and cooling a data center exceed the costs of the hardware within two years.

Essentially, constraints on power drawn by data centers are now forcing businesses to be greener. But wait, there’s more.

Steve Souders recently conducted a thought experiment on how much CO2 would be saved by optimizing the Wikipedia home page. He used the CO2stats.com estimate that three minutes on a Web site generates three grams of CO2 – roughly equal to the amount one person generates by breathing for 4.5 minutes.”

So optimizing browser caching lessens the load on the iron that serves your blog/web pages, which in turn lessens the CO2 output and energy used to keep the iron cool. Not bad for a pretty trivial investment of effort.

Jason offers some tips to make your blog or website less heavy. These tips come directly from Yahoo and are the result of Yahoo’s ongoing research into how to make their pages serve as fast as possible.

Yahoo built a plugin for Firebug, the Firefox add-on, called YSlow that tests any site agains these 13 guidelines. I ran YSlow on this blog and found we fail at many of the tests.

One problem was way too many HTTP requests. Since we switch hosts about a month ago, our CMS hasn’t worked. The CMS stored all the images displayed in posts. Rich does the heavy lifting for this blog, and he’s neck-deep in other stuff. So, rather than bug him to fix it, I’ve been using Skitch to serve the images.

I plan to wade through the fixes required to raise our overall score. One immediate thing is that I won’t be using images unless it’s super important until we get the CMS fixed.

Let’s be honest though. You don’t come here for the pictures. I hope.

Anyway, I wanted to share Jason’s insights and comments. I found them thought-provoking and interesting. I’m not out to chance anyone’s mind, just share interesting stuff.

You may or may not agree. Sound off in comments.

AboutJake

a.k.a.:jkuramot

7 comments

  1. My site stinks too, but I'm comforted by the fact that so few people visit it, so I'm not making that big of a negative impact. Save the environment–don't go to my website :).

    Seriously, though, I think this makes a lot of sense and someday in my copious free time, I'll see about raising my score too. Thanks to you (and Jason) for bringing this to everyone's attention–good stuff.

  2. Hold on a second. Where are you saving the energy: on the client, or on the server side? Now, if you don't go to the web-site, does this mean your computer will be switched off? If not, it will still consume as much power as it says on the power supply unit, won't it? Maybe I am out of touch with the power saving technology, or I don't understand how the power supply works.

    Suppose the server is not serving the pages anymore, “saving the environment”. Isn't it still up and running? Only instead of being busy, it is doing idle loops. BTW, there is an opinion that the current data centres aren't loaded even 10% of their capacity, and the problem is not the lack of the job to do, it is the lack of progress on all of the fronts, meaning IO wait and idle loops waiting to sync up with the other components of the distributed system. (See AMD's guy talk on TheRegister)

    Let's take the efficiency into account, i.e. how many Watts were spent on a single CPU cycle doing useful job. You can reduce the amount of job to do (rewrite the code to reduce the complexity of the problem), you can reduce the number of the wasted CPU cycles (rewrite the code to optimise synchronisation), and not only reducing the Watts spent by a single CPU. Otherwise, perhaps, 80386 would be the better option than Opterons and Xeons, because 80386 spends so much less energy per hour!..

    Just my 2p, which under current market conditions are the same as your 3.9 cent. 😉

  3. I'm talking about the server side, specifically how a blog owner or web site developer can tune pages to make them more efficient and therefore less consumptive to the server.

    This is a targeted exercise, and you are correct that there are larger issues at work on both the client and server sides of the Interwebs equation. Jason's tips are meant to provide the little guys, like me, with a way to accomplish two things: 1) serve pages faster and 2) save on server load, which also (bonus) lightens the overall consumption of energy.

    I say little guys because I can't control what iron the data center uses, what CPU is in that iron, how the CPU handles I/O and idle times, etc. I also can't control the overall load, just my own little piece.

    So, if your point is that this is a little thing, spot on.

  4. One of the more interesting things I read recently was a person talking about how we can optimize data processing to be distributed geographically based on which data centers have excess processing and energy capacity. It is a fascinating idea.

  5. Nice, like geographic load balancing, sounds like something Cisco would be into pretty deep. Over the next 18-24 months, we'll see lots of green tech initiatives like that.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.