Re: > 15,000 Simultaneous Connections

Arjan van de Ven (root@fenrus.demon.nl)
Thu, 9 Sep 1999 21:34:59 +0200


In article <37D30116.83D557A0@wserv.com> you wrote:

> Now, say I wanted to setup a server which could handle 15,000 persistant
> connections simultaneously. Each connection would average about 10
> bytes/second which would bring the total bandwidth to around 146 KB/s. The
> server needs to be TCP based.

I think this is a serious problem because of the RAM requirements! Think
about the amount of memory used for the socket-buffers alone....

For the server: Because of the huge number of connections, the amount of
memory used per connection must be as minimal as possible, so using 1 thread
per connection (8Kb stack times 15000 = 117Mb !) is out of the question.

SIGIO would be a nice way of knowing which connection has some data, but at
15000 connections, memory requirements might lead to the conclusion that you
need some sort of "private tcp/ip stack just for this cause" doing
everything at interrupt-level. This, of course, would not be nothing for
Linux, and the result probably isn't "Linux" as we know it, but some
(hardware) vendors do such souped-up stuff for their server-boxes..

Greetings,
Arjan van de Ven

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/