The C10K problem

时间:2021-10-29 08:37:45

原文链接:http://www.kegel.com/c10k.html

It's time for web servers to handle ten thousand clients simultaneously,don't you think? After all, the web is a big place now.

And computers are big, too. You can buy a 1000MHz machinewith 2 gigabytes of RAM and an 1000Mbit/sec Ethernet card for $1200 or so. Let's see - at 20000 clients, that's50KHz, 100Kbytes, and 50Kbits/sec per client. It shouldn't take any more horsepower than
that to take four kilobytes from the disk and send them to the network once a second for eachof twenty thousand clients.(That works out to $0.08 per client, by the way. Those$100/client licensing fees some operating systems charge are starting to look a little
heavy!) So hardware is no longer the bottleneck.

In 1999 one of the busiest ftp sites, cdrom.com, actually handled 10000 clients simultaneouslythrough a Gigabit Ethernet pipe.As of 2001, that same speed is nowbeing offered by several
ISPs
,who expect it to become increasingly popular with large business customers.

And the thin client model of computing appears to be coming back instyle -- this time with the server out on the Internet, servingthousands of clients.

With that in mind, here are a few notes on how to configure operating systems and write code to support thousands of clients. The discussioncenters around Unix-like operating systems, as that's my personal areaof interest, but Windows is also covered a bit.

Contents