[Samba] Copying Files from XP to Samba (help needed)

Peter Daum gator_ml at yahoo.de
Mon Oct 9 08:22:51 GMT 2006

I am still desperately trying to figure out why I get such a horrible
performance trying to copy files from XP to Samba (below is my
original post to illustrate the context. Meanwhile, I found a
pretty remarkable pattern in the network traces.

Generally, the packets send from the XP machine look like this:

01: WriteAndXRequest 60 kBytes (1392 bytes payload)
02: 1460 bytes
    ...        (usual time delta between 2 packets < 0.0001 secs)
42: 1460 bytes
    < < < < delta: 0.05 - 0.3 secs > > > >
43: last 188 bytes
.. WriteAndXResponse from Samba machine, da capo

It seems like what is slowing the transfer down so dramatically, is
the long gap before the last 188 bytes are sent. I can't see anything
reasonable the XP machine could be waiting for - it already got the
ack for the last preceding packet.

To emphasize again, this is not a general networking problem between
the 2 machines; it only (at leas AFAIK) occurs  when copying large
files from Windows XP to Samba shares (and at that occasion I could
reproduce it with all the Samba servers and XP clients that I checked
so far)

Any help would be greatly appreciated.

                             Peter Daum

> I noted an extremely poor performance when copying big files from
> a windows xp client to a samba share. The exact version of samba
> does not seem to matter: I tried several different samba servers
> with versions between 3.014 and 3.0.23b running on Linux 2.4.32
> and 2.6.17 (machines and network otherwise idle, clients connected
> via fast ethernet, servers via Gbit; network performance in both
> directions around 95 Mbit/s). I made several tests copying a 1GB
> file with Windows 98 and Windows XP clients. Reading the file from
> the server takes predictably around 105 seconds (~9.75 MB/s).
> Writing to the server takes only slightly longer on Win98 (130
> seconds, ~8 MB/s) while the same takes approximately 45 minutes
> from a XP client (I don't know whether this matters, I noted that
> on the XP write test, the directory listing on the server
> immediately shows a file with the final size - obviously a sparse
> file, repeatedly invoking du shows the gradually increasing actual
> size).
> I wrote a little test program that just writes data to a file and
> shows the throughput; the transfer rates I get that way are pretty
> reasonable, so it is not a general problem but something that only
> occurs on specific operations like copying.
> Tracing the network traffic also didn't tell me what the problem
> might be: XP uses for copying as well as for other write
> operations WriteAndXRequest, the only peculiarity I noticed is the
> slightly exotic block size of 61440 bytes per request when copying
> (which also doesn't seem to be the problem - Win98 uses the same
> block size with WriteRaw)
> Has anybody else made similar experiences? (Since I could see this
> issue with differently configured servers/clients, it should not
> be just my personal problem. Of course in most settings where the
> data usually goes mostly from the server to the client it is not
> obvious)
> Any ideas what's going on and what to do about it?

More information about the samba mailing list