Messages in this thread | | | Subject | Re: > 15,000 Simultaneous Connections | From | Arjan van de Ven <> | Date | 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/
| |