Loads of users

Hi,

I am looking for the right technologies to create a live
score system for a cricket match. I like the look of RoR as I will be
able to build up team/player statistics, use TDD and MVC. I’m
learning Ruby/RoR.

The system is mainly for use at cricket matches. The
scorer enters the score into the database, everyone who has a wireless enabled
device gets the updated score sheet.

I need to be able to handle a large number of users (from
tens to potentially tens of thousands) most can be expected to be viewing one
of a few pages (score for current game).

Should I be considering some sort of broadcast protocol or
will HTTP be best?

I fancy running it on a small linux box and was considering a
wireless router running OpenWRT and RoR. Anyone done this?

Thanks

Adrian

We do live cricket and football scores with team statistics for a
large client. We use RoR and update the page by using js on a timer to
pull the json data and update the page. You can see it here (
http://scorecard.cricket.betfair.com/ )

There is no magic to this, big box, fat pipe, thin code.

Pay close attention to the database design and be prepared to write
raw SQL to get the database performance.

Only when you cannot sweat out any more performance look at caching.

Adrian Wadey wrote:
[...]

I need to be able to handle a large number of users (from tens to
potentially tens of thousands)

[...]

I fancy running it on a small linux box and was considering a wireless
router running OpenWRT and RoR. Anyone done this?

AFAIK a wireless router will not have the computing power necessary to
run Rails with decent performance for tens of thousands of users, at
least if you're talking about the $50 boxes you put in your house.
You'll want something a bit faster.

However, if I understand your use case correctly (which I may not),
Rails may be overkill. If it's really just a scoreboard for spectators
already at the match, I suspect you don't need most of what Rails gives
you. Maybe Sinatra -- or even a simple PHP script or two -- would be
more suitable.

Thanks
Adrian

Best,

Marnen Laibow-Koser wrote:

Adrian Wadey wrote:
[...]
>
> I need to be able to handle a large number of users (from tens to
> potentially tens of thousands)
[...]
> I fancy running it on a small linux box and was considering a wireless
> router running OpenWRT and RoR. Anyone done this?

AFAIK a wireless router will not have the computing power necessary to
run Rails with decent performance for tens of thousands of users, at
least if you're talking about the $50 boxes you put in your house.
You'll want something a bit faster.

However, if I understand your use case correctly (which I may not),
Rails may be overkill. If it's really just a scoreboard for spectators
already at the match, I suspect you don't need most of what Rails gives
you. Maybe Sinatra -- or even a simple PHP script or two -- would be
more suitable.

As well as the score board (which I expect to be the most used) I want
people to be able to get live stats/graphs etc. as the match proceeds. I
think RoR will be ideal for all the functionality I want. I don't expect a
home router to be able to handle 10K users but want to make sure I'm able to
head in the right direction. Initial use would be for (maybe) 10+ users at
my local club. I'd like to start on a small lower power box as we don't
have a mains supply :slight_smile: