On Sun, Feb 08, 2009 at 02:46:22PM +0100, Ragnar Lonn wrote: > Bernd Walter wrote: > >This is simple maths: > >100k Sockets with 32k TX and 64k RX buffer take 9G Memory. > >Just buffer space, not to mention socket state, ... > >On i386 this is limited by kmem, which defaults to IIRC 512MB and > >is limited by 32bit virtual address space on i386. > >On amd64 depending on the OS version you can have a kmem of slighty > >less than 2G max or several GB. > >Nevertheless you are still limited with physical RAM. > >Smaller buffers are possible, but usually people want larger buffers > >to keep up with recent line speeds. > >Today buffer sizes can be dynamic - don't know the exact details, but > >you should keep in mind that 32k/96k is already quite small for > >many purposes. > > > > But physical memory is cheap, and most low-end machines can have 16G or > more today. Is it just a matter of having enough RAM and a 64-bit OS > then? How much is "several GB [kmem]" that you mention above?
AFAIK it is the only limitation - people are using 100k+ sockets since at least FreeBSD-4, but with several restrictions because of memory. It mostly depends on your application and network topology to your peers. Don't know where the current kmem limits exactly are - AFAIK kmem is hold within KVA and KVA is limited by a static map size. It has been widely discussed recently, because ZFS loves a large kmem. -- B.Walter <be...@bwct.de> http://www.bwct.de Modbus/TCP Ethernet I/O Baugruppen, ARM basierte FreeBSD Rechner uvm. _______________________________________________ freebsd-virtualization@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-virtualization To unsubscribe, send any mail to "freebsd-virtualization-unsubscr...@freebsd.org"