Slowdown when copying large files

tl tl at fairplay.no
Sun Jul 26 22:09:29 GMT 1998


On Sun, 26 Jul 1998, Michael Anthon wrote:
> Further to my previous post, I have made an interesting discovery.  This
> particular slowdown only occurs from clients that are running 
> Windows 98.

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.

If it's the same bug it's mainly the write performance that's bad, and in
reality the performance is worse than Win95/WinNT for all files, it's just
get worse for large files (exactly how much depends on the OS).

To check if it's the same problem turn up the debug-level to 3, and copy a
moderately large file to the Samba server from the local disk of a Win98
workstation. If you get *lots* of SMBwrite and SMBflush in the log-file 
you have the same problem.

A "good" log created from WinNT features one (or sometimes two) SMBwrite
per ~63k and zero SMBflush. A log from a Win98 machine features one or two
SMBwrite per 1.5k (!) and one SMBflush per 1.5k!!!

Anything above ONE SMBflush per file (at the end) or one SMBwrite per 10k
or so indicates a serious problem.

A stop-gap measurement to get *usable* performance is recompile with
'NO_FSYNC' defined (or the fsync() call in server.c:sync_file()
commented).

This removes the silly 'wait until everything is on disk before continuing
at every 1.5k', but doesn't fix the small block-size used. The small
block-size used still limits the performance, but it's actually usable for
larges files.


If you can confirm that this is what happens to you too it might be time
to send it to 'samba-urgent', as it's likely to affect LOTS of people as
more and more people start using Win98.



More information about the samba mailing list