![]() | |||||||||||||
Messages in this thread |
Alan Cox schrieb: > 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. The default values of my system are: SO_SNDBUF = 16384 SO_RCVBUF = 87380 > 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. > I tried the same scenario with SO_SNDBUF = SO_RCVBUF = 8k, so that the max memory is ca. 2G and the oom-killer kills my application at the same time (at 140000 connections). I can not see in the messages that the system is out of memory, there is also no swap space used You can download my /var/log/messages at http://hemaho.mine.nu/~biber/messages May you can give me a hint which line/value in the log shows me, that the system is out of memory? Thanks in advance Markus Wenke - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ | ||||||||||||
| Last update: 2006-10-05 09:17 [from the cache] ©2003-2008 | |||||||||||||