Sure,
We run a modified RubyCAS under passenger on a FreeBSD CARP set up. 2
boxes, each with around 40'ish Passenger spawns running the RubyCAS system.
If we run the RubyCAS for about 1 day on live, we can look at easily up to
3-6 million different tickets being generated. We tuned the deletion of
tickets so the database tables are kept reasonable.
The issue we discovered was the look up of tickets based on the ticket
parameter. On our implementation this now takes an average of 0.8ms in
general. We were looking at up to1-2 seconds without the proper indeces.
Adding the date and (ticket, consumed) index sped things up even further
on larger sets.
When we launched one of our new games, we were looking at 25000
connections every 5 minutes to give a rough estimate.
Our database back end is currently a mySQL cluster with master-slave
replication.
As we speak, we are rewriting the code base to swap the storage of tickets
etc to a Redis cluster instead of an ActiveRecord mapped database.
--
Arne