[ECOS] FreeBSD Stack/ Throughput over TCP/IP

Andrew Lunn andrew@lunn.ch
Sun Sep 5 08:37:00 GMT 2004


On Thu, Sep 02, 2004 at 04:01:50PM +0200, Richard Rauch wrote:
> thanks for your info, but we already turning off nagle with following code
> 
> int CRFC1006SvrLine::Nagle(SOCKET Socket, bool bMode)
> {
>    _ASSERTE(Socket != INVALID_SOCKET);
>    int iPar = bMode ? -1 : 0;

I don#t have access to the manuals at the momemnt..... but i normally
use 0 and 1 for these options, not -1. 

There are two mechanisms at play here. One is on the sender. It will
hold small writes in a buffer for a while hoping it combine a number
together to form one bigger packet to send. The other mecanism is
delayed ACK. An ACK ACKs a range of packets not one, so by delaying
the ack it might be able to ack a number of incomming packets so
saving bandwidth. During startup this might have some performance
impact when the window is small and it will not send many packets
before needing the ACK. Once the connection is well established and
the window is large there should not be any performance impact.  There
should be a way to disable delayed acks, but i cannot remember from
the top of my head.

One thing to note. IP is none real time, ie best effort. You can
optimize its performance, but you can never realy on it providing the
bandwidth you require. You must design you system with this in mind.

        Andrew

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss



More information about the Ecos-discuss mailing list