Ar Mer, 2006-10-04 am 17:03 +0200, ysgrifennodd Markus Wenke:The default values of my system are:
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 couldI tried the same scenario with SO_SNDBUF = SO_RCVBUF = 8k, so that the max memory is ca. 2G
set the send/receive socket buffer for each connection via setsockopt
down to say 8K and come out needing perhaps 1GB or so instead.