[Samba] Samba - XP performance problem

David Beck dbeck at beckground.hu
Wed Aug 10 09:05:06 GMT 2005


Thank you for the suggestion. I'll keep the info for reference.

Followup for the performance issue:

The trace shows that the conversation changes right after the "trans2: 
query file info internal" stage, so I looked into the samba code at this 
file:

http://websvn.samba.org/cgi-bin/viewcvs.cgi/branches/SAMBA_3_0/source/smbd/trans2.c?rev=8959&view=markup

		case SMB_FILE_INTERNAL_INFORMATION:
			/* This should be an index number - looks like
			   dev/ino to me :-) 

			   I think this causes us to fail the IFSKIT
			   BasicFileInformationTest. -tpot */

			DEBUG(10,("call_trans2qfilepathinfo: SMB_FILE_INTERNAL_INFORMATION\n"));
			SIVAL(pdata,0,sbuf.st_dev);
			SIVAL(pdata,4,sbuf.st_ino);
			data_size = 8;
			break;

The comment speaks for itself. I suspect the 8 byte here contains some 
magic that makes XP behaves as I found.

I made an other experiment: I turned off the oplock support ("Oplocks = 
No") and this made XP behave like if it was talking to a Windows server.
No extra tran2 calls and 1 byte writes. The performance got better 
because the slowdowns disappeared, but it was still slower compared to 
the windows machine.

Then I looked into the traces again and found that XP sends 1260 bytes 
in each packets when talking to the windows server and 536 bytes when 
talking to the samba server. The MTU is 1300. I suspect, this issue may 
be related to the different subnets where the two machines are located.

Hope this helps someone out there,

David.

Jonathan Johnson wrote:

> I can't say that this will apply in your situation, but I've seen 
> where having stale "connections" to non-existent servers can cause a 
> performance issue when browsing. Here's a couple of things to try:
>
> 1) Remove any shortcuts to non-existent network locations -- this 
> applies to broken mapped drives, shortcuts on the desktop and in My 
> Documents, and shortcuts in My Network Places
>
> 2) Look in the registry at 
> HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2 
> (or ...\MountPoints) -- Under this key, there will be several subkeys. 
> Some of these are in the form of ##Server##Share -- if there are any 
> of these that refer to nonexistent servers or shares, remove them. DO 
> NOT remove any of the other keys, else your system might not boot 
> properly. This key is seems to be the Windows version of the 
> /etc/fstab file.
>
> Nevertheless, I'm glad to see that you found something interesting. 
> Hopefully, your research will help the developers solve some other 
> nagging problems!
>
> --Jonathan Johnson
>
> David Beck wrote:
>
>> Hello There,
>>
>> After having googled the whole internet for days I decided to go 
>> public with this issue.
>> The result of my google queries so far is that there are plenty of 
>> others with the very same problem I have and noone posted a 
>> reasonable answer to this:
>>
>> Using Samba 3 with XP gets bad performance. I tested this on Tru64 
>> 5.1b and FreeBSD 5.3 with the very same symptoms.
>> The throughput bw XP and Samba goes up and down. It starts 
>> transfering with a reasonable speed and after having transfered 
>> around 16 megs it slows down.
>> I tried many configuration options regarding locking, tcp settings, 
>> xmit size and every combination that could make any sense for me.
>>
>> Then I gave up with this configuration mess as I could lower the 
>> performnce easily, but the performance jittering was the same.
>>
>> Now a few notes before I continue: I tested the FreeBSD server on the 
>> loopback interface and the file write speed was around 43 Megs that 
>> is close to the disks maximum. I also tested the XP machine with a 
>> Windows  server and the write performnce was around 10 Megs on a 
>> 100Mbit link. In addition to that the FreeBSD machine is at my home 
>> and the Tru64 and the Windows server are where I work. I'm pretty 
>> sure that this is not a network issue.
>>
>> After spending a lot of time with investigation I decided to go 
>> deeper in this issue. I installed ethereal to capture the traffic and 
>> compare the results bw XP-Windows and XP-Tru64. The test was to copy 
>> 50Meg file to both servers and capture the packets. To my surprise 
>> the conversation was quite different.
>>
>> XP-Windows (excerpt):
>> - nt create and x
>> - trans2: query file info internal
>> - set file info
>> - tcp data stream...
>>
>> XP-Samba (excerpt):
>> - nt create and x
>> - trans2: query file info internal
>> - (query file info + write and x request) many times, incresing 
>> offset, one byte length
>> - tcp data stream....
>>
>> In case of XP-Samba, the last two steps are repeated many times.
>> Large part of the effective bandwith is filled with query file info 
>> and 1 byte writes.
>>
>> The packet data can be downloaded from these links:
>>
>> http://dbeck.beckground.hu/download/xp-samba.bz2
>> http://dbeck.beckground.hu/download/xp-win.bz2
>>
>> I also made a screenshot of a bandwith monitor to show what I mean by 
>> performance jittering:
>>
>> http://dbeck.beckground.hu/download/samba-performance-write.PNG
>> http://dbeck.beckground.hu/download/samba-performance-read.PNG
>>
>> Please note that the original packet log for the 50 Meg file was very 
>> large, so I kept only the interesting parts.
>>
>> Last, could anyone there, Samba and SMB wizards help me, how to solve 
>> this performance issue?
>>
>> Thank you in advance,
>>
>> David.
>>
>



More information about the samba mailing list