Speed testing your web site with AOL Pagetest

I'm at Velocity 2008 right now and the keynote I was most excited about this morning introduced http://webpagetest.org/.

addons.mozilla.org and Localization at the Firefox Summit

We're planning several sessions at the upcoming Firefox summit including one specifically about AMO and L10n in which we hope to connect with localizers and start looking at some of the pain points of localizing AMO. With that in mind I've been collecting topic ideas and I'd like to hear any others you have. On my list so far:

Making Life Easier for Localizers - Introducing Verbatim

The webdev and L10n-drivers teams have been talking about implementing an online localization tool for a few months and I’m happy to report that a plan is progressing. Seth Bindernagel has been giving updates about the planning process and the direction we’re going in. Our planning decisions will probably come up but my focus here will be on the actual implementation of the tool.

Memcached best practices and internals

Yesterday, igvita.com published a short article summarizing memcached internals and best practices. It was originally a talk by Brian Aker and Alan Kasindorf and their slides are included. It's a good read and digs into memcached's memory management and expiration logic. (Thanks for the heads up, chenb).

Caching is easy; Expiration is hard

Still on a high from our success with memcached in AMO version 2, we decided to go a fairly common route and cache query results in version 3. This performs admirably particularly with our ridiculously long and slow queries. Over time, though, the popularity of the site and the load on the servers climb, and soon we’re looking at slowness issues again. On a rough day we decided to increase the expiration timeout for our queries in memcached from a minute to around an hour. This gives the database servers some breathing room but causes excessive delay on the AMO site when add-ons are updated and things like bug 425315 and it’s friends are born. Weird things happen when parts of a site expire at different times and consequently user experience (particularly add-on developers) suffers.