shahine.com/omar/

homepage | Send mail to the author(s) contact

yet another Microsoft blogger

# Thursday, August 16, 2007

Running YSlow against Hotmail, Gmail, Yahoo and AOL

For fun I ran YSlow to find out how it rated Windows Live Hotmail's Performance according to Yahoo's rules.

Service Performance Grade
Windows Live Hotmail (Full) A (98)
Gmail A (99)
Yahoo Mail Beta A (90)
AOL Mail B (80)

The reason Hotmail got a 98 and not a higher score? We use ETags... correctly. Yahoo should update that rule since we use IIS and you can in fact sync your ETags across your servers.

Update: turns out that YSlow doesn't work well with Frames, hence the numbers above are actually not accurate (at least not for The Full version of Hotmail). Not sure if this is something that will be fixed in YSlow.

Here are the numbers using the "classic versions" of each site. By classic I mean traditional Web 1.0 HTML.

Service Performance Grade
Windows Live Hotmail (Classic) C (75)
Gmail (Light) A (93)
Yahoo Mail Classic A (93)
AOL Mail n/a

If we didn't get an F on the ETags I wonder what our real score would be.

 

Thursday, August 16, 2007 9:01:15 PM (Pacific Daylight Time, UTC-07:00)
Yeah, SmugMug gets dinged for using ETags correctly, too.

Their docs suggest turning off ETags entirely in Apache, which is pretty stupid, considering how easy it is to make them work well:

FileEtag Mtime Size

Go figure. (We get dinged for other things, too, that we probably shouldn't, but YSlow did provide some insight in other areas).

There are other, more important, ways to measure speed, too, like from the end-user's browser perspective: http://blogs.smugmug.com/don/2007/05/15/speed-matters/
Thursday, August 16, 2007 9:34:22 PM (Pacific Daylight Time, UTC-07:00)
I like how YSlow gives http://developer.yahoo.com/performance/rules.html (Yahoo's performance tips page) a C (71).

One interesting thing I noticed SkyDrive gets dinged on is minimizing DNS. We actually purposely use multiple domains to help parallelize loading of images and things, since there's a cap on the number of connections per domain.
Thursday, August 16, 2007 10:02:06 PM (Pacific Daylight Time, UTC-07:00)
Don, yeah I didn't mean to imply that this was a measure of performance. We measure the heck out of our Page Load Times using simulated connection latency and bandwidth as well as real connections from around the world. We do both automated and manual measurements of our load times as well... not to mention things like Click Response Time and so on.
Friday, August 17, 2007 10:27:49 AM (Pacific Daylight Time, UTC-07:00)
Hi, this is Steve Souders, YSlow author and Chief Performance Yahoo!. Thanks for the feedback.

ETags are a tremendously powerful and flexible way of creating unique identifiers for a resource that goes way beyond the Last-Modified date. However, I don't believe that the information in the default ETag format for IIS and Apache add enough benefit to justify the cost.

For IIS, the default syntax includes the file's timestamp and IIS ChangeNumber. The ChangeNumber is identical for all resources, so the only data in the IIS ETag that is specific to the entity is the timestamp, which is the same as the date provided by the Last-Modified header.

For Apache, the default syntax includes the file's inode, size, and timestamp. As Don pointed out, you can remove the inode (the part that causes inefficiencies), and stick with size and timestamp. This does provide more information than what you get with just the Last-Modified date, but again, I'm not convinced it's worth the overhead.

So, regardless of YSlow measurements, I think the best practice is to either use ETags for something completely different, or to turn them off completely.

Back to YSlow, in the latest version (0.7.1) we added better validation of the ETag syntax. If you remove the inode from the Apache ETag, no points are subtracted. But for IIS, if you synchronize your ChangeNumber, as Omar has done, YSlow _will_ still subtract points. If there was a way for YSlow to detect (in realtime) that the ChangeNumber was synced, we could change that.

It's worth noting that the correlation between YSlow scores and response time is high (> 0.7). So your YSlow score is a good indication of how fast your page will be to end users.

I am totally impressed that Omar isn't happy with a 98. Way to go!
Thursday, July 31, 2008 10:35:03 AM (Pacific Daylight Time, UTC-07:00)
whatever!!! Gmail is best it is equal in terms to any corporate mail No ads, Pop,imap access and whats more it is free where Hotmail and Yahoo charges 19$ its not worth using latter always GMAIL Rocks ;)

Smart coder
Friday, September 05, 2008 7:18:35 AM (Pacific Daylight Time, UTC-07:00)
@Smart coder: Whilst the Gmail eMail service is fantastic (syncing great with my Apple ipodTouch via imap4!)- the Web Interface *does* display ads=and even though they are the less obtrusive textual type,they are generated by a "computer" pre scanning the contents of your email- some people would see this as privacy a infringement. I do like the fact that Windows Live Mail provides a desktop client for windows- without advertisments displayed, however this is platform specific.

Dafin
Comments are closed.