Posts Tagged ‘performance’

Flickr’s upgraded shard

While going about my day, I stumbled upon John Allspaw’s tweet about his experience with MySQL 5.0.51 versus Percona’s 5.0.83 highperf Percona build. For those that don’t remember John from the MySQL Conference & Expo’s, he’s the guy managing operations at Flickr, and he recently even wrote a book about webops.

Click on the photo above, to see when the upgrade happened. Amazed?

Haven’t tested this out myself, though I’m curious to see how this stacks up against MySQL 5.4, which is also aimed at being a high performance release. In another note, it seems like the mysql-cacti-templates could use a bit more verbose documentation.

Avoiding the fail whale

Catchy title? Its a webminar hosted by Robert Scoble, with panel members like Matt Mullenweg (WordPress – their extensive use of PHP, MySQL and more, and scalable even for wordpress.com), Paul Bucheit (FriendFeed, creator of GMail) and Nat Brown (iLike, a pretty popular Facebook application), you’d be silly not to miss it.

Its all about building a scalable server environment that grows with your traffic (virtually overnight, in some cases). I hope its all fairly generic and not Rackspace specific… we should learn to have these “fun” panel webminars.

Horizontal Scaling with HiveDB

At the MySQL Conference & Expo 2008, Britt Crawford and Justin McCarthy, both from Cafepress.com, gave us a very interesting talk on scaling with HiveDB. I took a few notes (pasted below), their slides are online (warning: 6.1MB PDF), and if you’re after their abstract its available as well.

I also took a video of them (refer to Slide 12, for the IRC conversation):

The quick notes:

  • OLTP optimised (as it serves cafepress.com)
  • Cannot lock tables, or take it offline
  • Constant response time is more important than low latency (little slower query is ok, just not exponentially slower)
  • Queries run might return wildly sized result sets.
  • There can be growth and usage hotspots. You cannot predict this at all.
  • Partition by key (the set of all partition keys is the partition dimension)
  • Partitioned Hibernate from Google (Hibernate Shards). HiveDB is now married up with shards.
  • Thought about MySQL Proxy to support high availability components, but it was dismissed

i