Re: Clarification on behaviour of Iperf's -w option
On Thu, 12 Jul 2007, Lawrence Stewart wrote:
It appears the "-w" switch is in fact modifying the size of the send buffer
on the client, and is doing so successfully at that.
Well, and this is a Good Thing, since this is the only parameter that
matters on the sender. If it's too small, the sender may be blocked
waiting for acknowledgements. On the other hand, setting the *receive*
buffer size on the *sender* is absolutely useless for performance.
If the documentation could drop the misleading "window size"
terminology in profit for the correct "socket buffer size" name which
it is actually setting (SO_SNDBUF / SO_RCVBUF), this would make such
recurrent confusions go away.
Receive socket buffer size and TCP window are definitely related, and
definitely different (Hint: buffers are not always empty. Else why
allocate them?)
Send socket buffer size and TCP window are very very indirectly
related => bad terminology.
The -w option as it is currently performs The Only Perfect Thing That
Matters For Performance (for one-way tests). It is only confusingly
misnamed. It sets the send buffer size on the sender and the receive
buffer on the receiver: I like it, and I suspect that most people that
got used to it for ages like it too.
Maybe it is interesting to add new options for people wanting to
control more finely and more explicitely receive versus send buffers,
but... please do not change the existing and useful -w option?
Bidirectional tests are yet another story... *sigh*