Re: to many sockets ?

From: Alan Cox
Date: Wed Oct 04 2006 - 12:08:05 EST


Ar Mer, 2006-10-04 am 17:03 +0200, ysgrifennodd Markus Wenke:
> Hi,
>
> I wrote a program which handles incomming sockets asynchron.
> It can handle up to 140000 connections simultaneously while every
> connection send some bytes in both directions continuously.

Armwavingly 64K x 2 per socket worst case for non tcp windowed buffering

128K per socket x 140000 connections

8750MB of RAM

plus other overhead

Assuming you kept the socket buffer limit to 64K by setting it or
disabling window scaling you'd want a about 10GB of RAM for the sockets,
buffering and resources. With tcp windows you'd need more.

If your data rates are always low, or the link is low latency you could
set the send/receive socket buffer for each connection via setsockopt
down to say 8K and come out needing perhaps 1GB or so instead.

You will also need a very fast network for that many connections just
for the cost of headers/ack frames.

Alan

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