[MUD-Dev] World Persistence, flat files v/s DB v/s ??

J C Lawrence claw at under.engr.sgi.com
Tue Mar 24 10:25:42 CET 1998


On Tue, 24 Mar 1998 00:20:23 PST8PDT 
Joel Dillon<emily at cornholio.new.ox.ac.uk> wrote:
> On Mon, 23 Mar 1998, J C Lawrence wrote:
>> On Sun, 22 Mar 1998 05:44:12 PST8PDT Matt
>> Chatterley<matt at mpc.dyn.ml.org> wrote:

>> While threads are cheap, they are not free.  What are you going to
>> do when you get 500 players online?  1,000?  5,000?  1,000 threads
>> will drag any OS I know of on any platform costing less than
>> US$50,000 to its knees.

> Most servers will be brought to their knees by 5,000 people
> whether the server is multi- or single-threaded ;) At that point you
> need to start thinking about distributed servers.

True -- tho I'd wager an HP K400 or SGI Onyx with enough processors
and RAM woulb be able to handle it, but yes. they are not "most"
machines. 

Some loose numbers:

  I played with a couple machines at home this weekend.  On one end
was an a twin 180MHz P'Pro, on the other was a 333MHz Alpha, both with
128Meg RAM, and interconnected via _two_ 100base-T nets (two NICs in
each machine).  

  I threw a simple server mockup on the Alpha which did nothing but
accept connections and spit repetitive copies of the Gettysburg
address with random timing gaps up to 5 seconds between the lines to
simulate "realistic loads",a nd threw away all incoming traffic.  On
the other machine I threw up a simple multiplexed client which did
nothing but open connections to the server and do the exact same
thing: it spat out copies of the address but with a 30 second
randomity (big spacing, but long average line length), and threw away
all the inbound data.  Connections were evenly spread across the two
nets.  Both the server and client were multi-threaded with IO being
handled by an asynchronous pool of IO threads as discussed here
previously.

  This is of course a vastly unbalanced excercise which really did
nothing but excercise the respective IP stacks.  Most importantlyly it
did not excercise the DASD subsystems, page fault characteristics, or
integer performance.  Then again, it only took a couple hours to set
up and run...

  I got up to roughly 3,800 connections before response time started
to suffer enough to impact play (feel of thumb).  I suspect that the
real bottleneck was not mechanical, but the drivers for the Tulib
based NIC's I was running on the Alpha (RedHat Linux/Alpha 5.0).

  Of course then the chap I was selling the machines to came in, and I 
had to tear it all down to throw it in the back of his MG...

--
J C Lawrence                               Internet: claw at null.net
(Contractor)                               Internet: coder at ibm.net
---------(*)                     Internet: claw at under.engr.sgi.com
...Honourary Member of Clan McFud -- Teamer's Avenging Monolith...



More information about the mud-dev-archive mailing list