I don't think it uses different window sizes on loopback, but with the
autotuning it can be difficult to say a priori what the window size will be.
What one can say with confidence is that the MTU and thus the MSS will be
different between loopback and ethernet.
Can you take another trace that isn't so "cooked?" One that just sticks with
TCP-level and below stuff?
If SMB is a one-request-at-a-time protocol (I can never remember), you could
simulate it with a netperf TCP_RR test by passing suitable values to the
test-specific -r option:
netperf -H <remote> -t TCP_RR -- -r <req>,<rsp>
If that shows similar behaviour then you can ass-u-me it isn't your application.
One caveat though is that TCP_CORK mode in netperf is very primitive and may
not match what you are doing, however, that may be a good thing.
http://www.netperf.org/svn/netperf2/tags/netperf-2.4.4/ or
ftp://ftp.netperf.org/netperf/
to get the current netperf bits. It is also possible to get multiple
transactions in flight at one time if you configure netperf with --enable-burst,
which will then enable a test-specific -b option. With the latest netperf you
cna also switch the output of a TCP_RR test to bits or bytes per second a la the
_STREAM tests.
rick jones
-