Slowdown when copying large files (PR#8624)

tl tl at fairplay.no
Tue Jul 28 14:40:08 GMT 1998


On Mon, 27 Jul 1998, Jeremy Allison wrote:
> tl at fairplay.no wrote:
> > Hmm, I missed the original post, but this sounds like it could be the bug
> > I reported 15 days ago to samba-bugs (PR#8316) and still haven't got any
> > responses to.
> 
> Sorry, I'm still integrating incoming patches.

No harm done, it's just that after 15 days without a reply for what I
suspect may be a rather serious and growing problem(growing Win98
userbase) I was beginning to think that perhaps it should be forwarded to
samba-urgen just in case...


> Well the problem is the small block size used is *client*
> defined - not server. My guess is that the Win98 explorer
> is optimised for Web performance, (ie. doing MSS size 
> reads/writes) and as the same binary is used for both SMB
> file browsing and Web browsing the silly block size has been
> used throughout.

The interresting thing is that it doesn't appear to use small block
against WinNT4 servers...

Since I can't get SAMBA level 3 logs from the WinNT server I have to rely
on tcpdump's, and they are a whole lot harder to understand, but it does
look like Win98 is using much larger blocks against WinNT than against
Samba servers!

As an example, a copy of a 259261 bytes file generates:
WinNT4SP3: 1 SMBwrite(REQUEST), 1 SMBwrite(REPLY), 
	   10 SMBwritebraw(REQUEST), 10 SMBwritebraw(REPLY)

Win98:    119 SMBwrite(REQUEST), 28 SMBwrite(REPLY)

Due to other reasons these copies was done by different Win98 boxes, but
that shouldn't do any difference (if necessary I could do it with the same
machine, but not just now).

The Samba server was a custom-compiled 1.9.18p8 on RedHat 5.1, and 'write
raw' / 'read raw' is both in their default setting (enabled according to
documentation and source).


This isn't actually especially surprising, I would have been a lot more
surprised if Win98 *didn't* use large blocks against WinNT, inferior 
performance against WinNT servers compared to Win95 would have been a
major show-stopper... Even Microsoft should have noticed THAT! And if they
had a lot of people would have yelled at them by now...

I didn't actually check it then, it was simply to unlikely in my opinion.


This was why I assumed that it should be possible to get Win98 to use
decent sized blocks against SAMBA, and that it was likely that it was
something in the handshakes that differed.


> Does anyone know if there is a Win98 registry setting to
> set the SMB read/write size ?

How does WinNT get it to use large block sizes??


The tcpdump logfiles are rather large, so they are available on request.

I also made an tcpdump RPM for RH5.1-intel, with the latest
tcpdump/libpcap (3.4 and 0.4, both final!), SMB support and various other
patches. I'm trying to upload it and the SRPM to RedHat's contrib area,
but ftp.redhat.com is a bit busy at the moment...
(Available by email if someone wants it before it's in the regular RH
contrib/hurricane directory).



More information about the samba mailing list