How to debug 100x variance in writing the same file?
Christopher R. Hertel
crh at ubiqx.mn.org
Fri Jan 21 22:51:21 GMT 2005
On Fri, Jan 21, 2005 at 02:22:16PM -0800, John Gerth wrote:
> Thanks for the guidance. I probably had some subconscious hope that this
> was a known issue and someone would write "John, you ignoramous, why didn't
> you set socket options to .....". As must be painfully clear, I'm not very
> NBT-protocol aware. It had been my naive hope that TCP was already covering
> all the packet loss issues and thus why I both used 'scp' and NBT to the
> server to try and convince myself that the network transport wasn't an
You can ignore the "NBT Layer" for your purposes. As a transport for SMB,
there is almost no difference between NBT and naked TCP transport.
(The difference is in the size of the packet length field. Under NBT it's
defined as 17 bits with 7 more bits reserved. Under naked transport, it
*may* be counted as a full 24 bits.)
The problem we are suggesting *may* be the source of your headache is the
request/response nature of the higher-level SMB protocol.
With a stream protocol, if a packet is dropped it is simply resent a few
packets later and the receiving end pops it back into its correct place
and all is well. Other packets continue to flow so there is little
With a request/response protocol, if a packet is dropped the entire
transaction gets held up. You have to wait until the timeout expires
before the dropped packet is resent, then the transaction is processed,
then the response is sent and, once again, if you lose a packet you wait.
Anyway, that's all a first-guess. If that's the problem you'll see it in
Ethereal. You'll need to find a hub or a switch with a span port so that
you can see all of the packets. I sometimes use a box with two ethernet
cards and bridging running. :)
"Implementing CIFS - the Common Internet FileSystem" ISBN: 013047116X
Samba Team -- http://www.samba.org/ -)----- Christopher R. Hertel
jCIFS Team -- http://jcifs.samba.org/ -)----- ubiqx development, uninq.
ubiqx Team -- http://www.ubiqx.org/ -)----- crh at ubiqx.mn.org
OnLineBook -- http://ubiqx.org/cifs/ -)----- crh at ubiqx.org
More information about the samba-technical