
As subscribers to my blog have probably already guessed, we spend an inordinate amount of time at SmugMug trying to optimize for speed. As a media-heavy website, that’s a difficult thing to do and there are a lot of pieces. A typical gallery page at SmugMug contains 16 photos (though may contain thousands), plus all of the other graphic elements on the page, JavaScript includes (we use lots of JS), CSS includes, and the page HTML itself.
We’ve long tracked our own internal “page render” time, but once it leaves our servers, it gets more difficult to track. There’s a huge, nasty mess of networking equipment and providers between our servers and each customer. There are paid services that will track some of this for you, but that doesn’t tell you what the actual customer experience is like. We have employees in Utah, Idaho, Ohio, Virginia, New York, London, the Netherlands, and Australia so we can get a decent idea, but nothing beats aggregate data.
Enter Alexa with their excellent service and the data it provides. They get a lot of publicity for their Traffic Rank and Reach stats, but they don’t help us hardly at all (we have tens of thousands of customers who use their own custom domains, for example, among other problems). The stat I really love is the Speed rating. Since Alexa aggregates data from millions of people all over the world, across all page views on a site (heavy and light), we can get a really good view of just how fast our site is:

The usual disclaimers about statistics, particularly Alexa’s, apply: We don’t know exactly what they’re measuring, how much or often they’re measuring it, and how many people are actually measured. But we do know that Alexa’s Speed rating has directly correlated to feedback we get from our customers, and most importantly, our customer satisfaction. That’s good enough for me.
Now, like any Alexa statistic, such as Traffic Rank, it’s best viewed in relation to other sites, rather than alone. So here’s a bunch of photo-sharing sites, both ‘larger’ and ’smaller’ than SmugMug, and their Speed ratings in rough order of ’size’ according to Alexa’s Traffic Rank (again, Traffic Rank is notoriously flawed, but we have to order by *something*):
Fotolog:

Flickr:

Photobucket:

Webshots:

PBase:

Kodak Gallery:

SmugMug:

Shutterfly:

Snapfish:

Now, we’re not perfect. SmugMug, like every other site on the net, has problems. But we try very very hard to keep the site speedy and responsive – and I think both the stats above and our customer satisfaction speaks volumes. And I think it’s only fair to note that some of those sites handle more page and photo requests per day than we do – but we’ve left the “small site” size behind long ago, so I wouldn’t discount our size too much. It’s probably only fair to note that with the possible exception of PBase, they all have massive financial resources in comparison to ours, though, too.
We have a huge laundry list of things we can do to speed the site up even more, so look for us to shave more milliseconds off your page load times as we go forward. And I have to thank our Ops team, Andrew Gibbons – Director of Operations & Craig Meakin – Server Surgeon, and programming team, Jimmy Thompson – Web Superhero & Lee Shepherd – SmugSorcerer. Couldn’t have gotten below 1 second without them!
If there’s enough interest, I can do a follow-up post on lots of the tricks we use to get there. I don’t think we do anything earth-shattering, but lots of small things add up. Let me know.