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