First time here? You are looking at the most recent posts. You may also want to check out older archives or the tag cloud. Please leave a comment, ask a question and consider subscribing to the latest posts via RSS. Thank you for visiting! (hide this)

A few days ago I posted about Firebug, the Swiss Army Knife of the developers' plugins.

Last week Yahoo released an add-on for Firebug: YSlow.

YSlow measures web page performance based on the best practices evangelized by Yahoo!'s Exceptional Performance team. Since many of these best practices focus on the frontend, YSlow is integrated with Joe Hewitt's Firebug, the web development tool of choice for frontend developers.

After checking your site against the 13 rules of High Performance Web Sites, it rates the performances of your site with an A to F grade.

I run the tool on a few blogs on various platforms, and here is the result ordered by score:

The average per blog engine is:

  1. MovableType (2 sites): 63 D
  2. WordPress (4 sites): 62,75 D
  3. DotNetNuke (2 sites): 61,5 D
  4. .Text (only 1 site): 61 D
  5. Community Server (3 sites): 55,667 F
  6. BlogEngine.NET (1 site): 52 F
  7. Subtext (4 sites): 40 F
    DasBlog (4 sites): 40 F

All the .NET based blogging engines have F as average. Let's see if I can improve a bit my rating (and Subtext rating as well)

Technorati tags: , ,
posted on Sunday, August 5, 2007 12:23 PM

Comments on this entry:

# re: How Slow is your site (How to improve the performance of your site with YSlow)

Left by LorenzoC at 8/5/2007 7:54 PM

Yes, I guess it is ironic then that once you have installed Firebug on your Firefox the browser's performance drops so you can open new pages in some seconds.
So my suggestions are:
1. To improve your site performance it is better to not use Firebug.
2. If you need Firebug, create a new profile for it (and other massive extensions you don't need for common tasks).

# re: How Slow is your site (How to improve the performance of your site with YSlow)

Left by Simone at 8/5/2007 8:02 PM

Yes, but Firebug is just an analysis tool.
I'm improving the performances of my site not for myself, but for reader. I don't care if it takes me 2 sec instead of 1 to display it. And then it slows down the performances only if you activate it.

# re: How Slow is your site (How to improve the performance of your site with YSlow)

Left by LorenzoC at 8/5/2007 8:21 PM

Well, I've read a post on Asa's blog (you know the guy from Moz) where he says something like "hey I noticed performance problem with extensions". Now, I'm glad he finally understood it, but one of the main concerns about Firefox is people installing extensions not knowing that will probably bring memleaks, bugs, security holes and cripple the browser. Several of the most common extensions are flawed. The problem is the "addons" site can't actually verify the extensions.

BTW, I know YOU are not "the user".
This was kinda a general advice. :)
Anyway, Firebug degrades FF perfomance even if it is on "off", to get normal operations back you need to disable the extensions from "tools".

I really think it is better to have 2 profiles for Firefox, a "stable" one for everyday usage and a "dev - test" one where you can put all the junk. The only annoyance is Firefox asking what profile you need each time it starts. Not a big deal, you can always create a desktop link to the profiles.


# re: How Slow is your site (How to improve the performance of your site with YSlow)

Left by Simone at 8/5/2007 8:27 PM

Extensions, plugin, add-on: everything that doesn't go through the same QA process of the main application should not be downloadable from the official download site.
They can degrade the performance of the main app and the ACU will blame the app and not the fact that he installed 20 extensions. It's something we have to address now that we are building the Subtext extension model

# re: How Slow is your site (How to improve the performance of your site with YSlow)

Left by Jeremy Boyd at 8/5/2007 9:12 PM

Did you notice YSlow is not very consistent in its results?

I just tested my site and got:
Performance Grade: B (81)
and CodeClimber
Performance Grade: F (43)

Both higher than what you got in your test run..

:)

# re: How Slow is your site (How to improve the performance of your site with YSlow)

Left by Scott Hanselman at 8/5/2007 9:16 PM

Seems like everyone got a D or an F. YSlow was on my list to check out...time to shoot for a "C"!

# re: How Slow is your site (How to improve the performance of your site with YSlow)

Left by Simone at 8/5/2007 9:26 PM

I tested the homepage, 43 and 81 (which is very good) are the results for a single post page.
And this afternoon I made a few tweaks, and I also brought my score to 40 :)

# re: How Slow is your site (How to improve the performance of your site with YSlow)

Left by Simone at 8/5/2007 9:40 PM

Scott, I was looking at the rules.
Here is the weight of every rule in the average:

Etag, GZip, Expire Headers 11
CSSTop, JS Minimized, No CDN, Redirect 10
JS Dub, JS at the end, Num DNS lookup 5
Num External JS and CSS 4
Num of CSS background Images 3
CSS Expressions 2

So, apart from the CSS at the top and the JS Minimized, all other heavy rules are only achieved via server configuration (Etag, Gzip, Expire Headers)

# re: How Slow is your site (How to improve the performance of your site with YSlow)

Left by Jeremy Boyd at 8/5/2007 9:41 PM

Yep, that was the homepage for both. I think being behind a proxy server is having some impact.

Running it from the server I get Performance Grade: B (86) since its picking up gzip compression properly..

# re: How Slow is your site (How to improve the performance of your site with YSlow)

Left by Simone at 8/5/2007 10:00 PM

Ah, maybe the proxy sets the etags or the expire dates.
One of my bigger problem is that Feedburner adds one JS per each post, so I end up with 10 external JS, which also don't have the Etag and the Expire Header, so 30 "warnings" only for using FeedBurner

# re: How Slow is your site (How to improve the performance of your site with YSlow)

Left by Jeremy Boyd at 8/5/2007 10:22 PM

Getting rid of ETags on IIS was a bit of a pain, but got it up to 90 :)

Main gain seems to be from having proper Expires headers and Gzipping. ETags was just +4 gain.

Might put up a post tommorow on tweaking IIS for YSlow ;)

# re: How Slow is your site (How to improve the performance of your site with YSlow)

Left by Simone at 8/5/2007 10:21 PM

Jeremy, I just tested your site now, it is B 87, and the only problem you have is that you are not using a CDN (but who is using it?), so I guess you are around 100 now :)
But shouldn't you get ready for the TechEd instead of spending all the afternoon tweaking the site to get a better score? :)

# re: How Slow is your site (How to improve the performance of your site with YSlow)

Left by Simone at 8/5/2007 10:44 PM

Too bad I'm using WebHost4Life, and i doubt I can set all these things on it :(

# re: How Slow is your site (How to improve the performance of your site with YSlow)

Left by Mads Kristensen at 8/6/2007 10:01 PM

I've also been playing with it. It's good fun but also irrelevant for most websites. You cannot get a good score if you have Google AdSense banners, because of all the external javascript calls (dublicates if their in the posts). Also, the http compressions of images etc. can only be done if you can access the IIS and map all extensions to the ASP.NET ISAPI filter.

Further more, the amount of images on a theme is probably not something you want to change. You could do some CSS tricks to have fewer HTTP requests, but that would be stupid for a regular trafficed site.

Also the rule about using a Content Delivery Network (CDN) is not something average Joe will ever pay for, so that is irrelevant.

The Etag and expiration headers are also something you cannot change on hosted sites, because of the ISAPI filter mapping.

But still, a fun tool to play with.

# re: How Slow is your site (How to improve the performance of your site with YSlow)

Left by Simone at 8/6/2007 10:32 PM

Yes, most of the rules are irrelevant for normal sites on hosted environment.
But minimizing the JS is a nice idea anyway, and also putting all CSS together, or using image spites for the background. Something I'll play with next week from the lake.
Now they are announcing my flight.
Be back in 2 days or so.

# re: How Slow is your site (How to improve the performance of your site with YSlow)

Left by Mads Kristensen at 8/7/2007 2:22 AM

Simone, you've made a mistake. My blog doens't score 52 but 56.

# re: How Slow is your site (How to improve the performance of your site with YSlow)

Left by Mads Kristensen at 8/7/2007 9:46 AM

Well, it is actually 71 now which gives me a C grade. Also, I think you find this link interesting :) http://blog.madskristensen.dk/post/YSlow-performance-challenge.aspx

# re: How Slow is your site (How to improve the performance of your site with YSlow)

Left by Mason Lyngby at 8/8/2007 4:23 AM

The main Google page gets an A but let's face it, there's hardly anything on it. It is a very simplistic page.

# re: How Slow is your site (How to improve the performance of your site with YSlow)

Left by Keyvan Nayyeri at 8/9/2007 2:19 AM

Very nice introduction and research, Simo :-)

Have to make some changes and improve my rank ;-)

# re: How Slow is your site (How to improve the performance of your site with YSlow)

Left by Simone at 8/9/2007 3:16 AM

@Mads: actually sometimes YSlow, as also jb said, its not always consistent with the results: mine is 52 if I reload the page without clearing the cache because all the external JS are retrieved from cache.

@Mason: yes, google homepage is quite simple, would be nice to see how the iGoogle page rates.

@Keyvan: seems like everybody is trying to improve it's YSlow rate, but seems like it's just an academic thing: setting Expires header to the various ASP.NET scripts (WebResources, and so on) is useless since they are retrieved from the server every time with a different timestamp to be sure they are not cached.

# re: How Slow is your site (How to improve the performance of your site with YSlow)

Left by Mads Kristensen at 8/9/2007 10:43 AM

It is not true that they change the timestamp at every request. Just try to do a refresh of a page and look at the timestamp. It stays the same.

# re: How Slow is your site (How to improve the performance of your site with YSlow)

Left by omer ilhan at 8/10/2007 2:34 AM

Actually YSlow is not a tool that measures in how many seconds pages take to load so the extensions is not an issue for yslow. Also Yslow measurement changes from version to version so it can be the reason for different values everybody talk about.

# YSlow: Yahoo's Problems Are Not Your Problems

Left by Coding Horror at 8/17/2007 12:04 AM

I first saw Yahoo's 13 Simple Rules for Speeding Up Your Web Site referenced in a post on Rich Skrenta's blog in May. It looks like there were originally 14 rules; one must have fallen off the list somewhere...

# re: How Slow is your site (How to improve the performance of your site with YSlow)

Left by Joe Law at 9/21/2007 4:38 AM

After my ASP.NET website sits idle for more than 20 mins the next request is very slow. The reason is that the application domain is flushed from IIS and the application needs to be recompiled. I found this utility to be handy. http://www.spikesolutions.net/ViewSolution.aspx?ID=c2b7edc0-5de1-4064-a432-05f6eded3b82

# re: How Slow is your site (How to improve the performance of your site with YSlow)

Left by Adron at 10/27/2007 12:19 AM

I guess I'll be checking this one out soon too. I'm sure my site will probably be uber slow! :(

Then of course, the site is in a severe need of an upgrade too.

Comments have been closed on this topic.