Brown trousers time :~

Jonathan Rockway jon at
Mon Oct 8 21:41:59 BST 2007

Lyle - wrote:
> Paul Orrock wrote:
>> This means that one easy way of getting better performance is that
>> you set up a slave MySQL server listening to your master and farm the
>> selects off to the slave leaving the master to do updates, inserts
>> and instant update dependent selects (e.g. items in a basket) as
>> opposed to products in a category.
> Sounds perfect. Definitely something I'll be looking at closely.

I've worked on an app that needed to track thousands (sometimes) of
clicks a second.  We had ten separate instances of our app hitting ten
separate (mysql) databases so things would scale easily.  When we had
spare database system cycles, we would offload the data from the mysql
systems into our reporting application's database.  The advantage here
was that slow reports wouldn't prevent data from being recorded, and
that we could scale linearly if we had more click traffic.  Of course,
at some point there's going to be a bottleneck where the reporting
system can't accept data fast enough, but we never hit that*.  It was
all about reliability and handing peak loads.

(* If worst came to worst, we could just put 10 more machines online,
shut down the machines with last month's data, query the data to
generate invoices, and then put those machines back online.  We never
had to do that though.)

Jonathan Rockway

More information about the mailing list