> 15,000 Simultaneous Connections

Jordan Mendelson (jordy@wserv.com)
Sun, 05 Sep 1999 19:47:34 -0400


Alright, I've done my research, ran a whole lot of tests, but I'm still not
sure what the best way of going about this is under Linux.

There are several different programs out there which require a large number
of persistant connections. Most of them are messaging oriented having a small
amount of actual data being transfered per socket, but a large number of
sockets total.

A few examples of these would be IRC, ICQ and MUDs. With HTTP 1.1's persistant
connections this will also be an issue.

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.

Looking at some of the tests for Apache and various other HTTP servers, I
can't say I'm too impressed. The C10K problem web page at
http://www.kegel.com/c10k.html gives a few different methods, but they aren't
documented well or benchmarked.

What would be the optimal paradigm for this?

Does anyone have some hard numbers on which models can reach what levels?

What are the limiting factors in reaching this level of simultaneous
connections?

What /proc parameters need to be tweeked to reach this level? (FD max, route
cache max, etc)

I think a HOWTO on this subject might be in order :)

Jordan

--
Jordan Mendelson     : http://jordy.wserv.com
Web Services, Inc.   : http://www.wserv.com

- 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/