Poor performance when accessing Linux from Windows XP because of too many QUERY_FILE_INFO requests

Christopher R. Hertel crh at ubiqx.mn.org
Wed Apr 29 04:03:37 GMT 2009


In a word:  Yes.

Yes, you are going to see this sort of thing when you use the Windows
Explorer (the GUI) to view directories.

This has nothing to do with the server you are using.  Try the same thing
against a Windows server and you will have the same results.  The client
drives the interaction.

Now do a 'dir' of the directory from the CMD shell in Windows.

Chris -)-----

Xia, Arandar wrote:
> Dear all,
> My question is described as follows.
> 
> Server: Linux
>       Samba-3.3.1
> Client: Windows XP with SP3
> 
> Step1: connect to the samba server.
> Step2: select a directory name “test”. (The directory is created before testing.)
> 
> According to data captured by Wireshark, I find the following phenomenon:
> The client will send a lot of NT Create AndX requests and QUERY_FILE_INFO requests. 
> The client repeats exactly the same queries many times before giving up. The whole network log repeats exactly the same sequence, only the FID is different every time. In my test FID changes from 0x3002 to 0x306a. And any access to a directory will result in these requests.
> If I use a Linux client, this does not happen.
> 
> I am using a VFS backend of Samba to setup a file server. An action to get attributes of the file is needed for each QUERY_FILE_INFO request and there are so many requests. I think it is the reason why my Samba service is slow.
> Could anyone help me to find the reason and give a solution?
> Is there any wrong with my configuration or problem in my VFS backend?
> 
> The following data is only a part of community data.
> No.  Source       Destination   Protocol    Info
> 26   client        server        SMB      Trans2 Request, QUERY_PATH_INFO, Query File Basic Info, Path: 
> 27   server        client        SMB      Trans2 Response, QUERY_PATH_INFO
> 28   client        server        SMB      Trans2 Request, FIND_FIRST2, Pattern: \test
> 29   server        client        SMB      Trans2 Response, FIND_FIRST2, Files: test
> 30   client        server        SMB      NT Create AndX Request, Path: \test
> 31   server        client        SMB      NT Create AndX Response, FID: 0x3002
> 32   client        server        SMB      Trans2 Request, QUERY_FILE_INFO, FID: 0x3002, Query File Internal Info
> 33   server        client        SMB      Trans2 Response, QUERY_FILE_INFO
> 34   client        server        SMB      Trans2 Request, QUERY_FILE_INFO, FID: 0x3002, Query File Basic Info
> 35   server        client        SMB      Trans2 Response, QUERY_FILE_INFO
> 36   client        server        SMB      Trans2 Request, QUERY_FILE_INFO, FID: 0x3002, Query File Standard Info
> 37   server        client        SMB      Trans2 Response, QUERY_FILE_INFO
> 38   client        server        SMB      Trans2 Request, QUERY_FS_INFO, Query FS Volume Info
> 39   server        client        SMB      Trans2 Response, QUERY_FS_INFO
> 40   client        server        SMB      Trans2 Request, QUERY_FILE_INFO, FID: 0x3002, Query File Basic Info
> 41   server        client        SMB      Trans2 Response, QUERY_FILE_INFO
> 42   client        server        SMB      Trans2 Request, QUERY_FILE_INFO, FID: 0x3002, Query File Standard Info
> 43   server        client        SMB      Trans2 Response, QUERY_FILE_INFO
> 44   client        server        SMB      Trans2 Request, QUERY_FILE_INFO, FID: 0x3002, Query File EA Info
> 45   server        client        SMB      Trans2 Response, QUERY_FILE_INFO
> 46   client        server        SMB      NT Create AndX Request, Path: \test:{4c8cc155-6c1e-11d1-8e41-00c04fb9386d}:$DATA
> 47   server        client        SMB      NT Create AndX Response, Error: STATUS_OBJECT_PATH_NOT_FOUND
> 48   client        server        SMB      Close Request, FID: 0x3002
> 49   server        client        SMB      Close Response
> 50   client        server        SMB      NT Create AndX Request, Path: \test
> 51   server        client        SMB      NT Create AndX Response, FID: 0x3004
> 52   client        server        SMB      Trans2 Request, QUERY_FILE_INFO, FID: 0x3004, Query File Internal Info
> 53   server        client        SMB      Trans2 Response, QUERY_FILE_INFO
> 54   client        server        SMB      Trans2 Request, QUERY_FILE_INFO, FID: 0x3004, Query File Basic Info
> 55   server        client        SMB      Trans2 Response, QUERY_FILE_INFO
> 56   client        server        SMB      Trans2 Request, QUERY_FILE_INFO, FID: 0x3004, Query File Standard Info
> 57   server        client        SMB      Trans2 Response, QUERY_FILE_INFO
> 58   client        server        SMB      Trans2 Request, QUERY_FILE_INFO, FID: 0x3004, Query File Basic Info
> 59   server        client        SMB      Trans2 Response, QUERY_FILE_INFO
> 60   client        server        SMB      Trans2 Request, QUERY_FILE_INFO, FID: 0x3004, Query File Standard Info
> 61   server        client        SMB      Trans2 Response, QUERY_FILE_INFO
> 62   client        server        SMB      Trans2 Request, QUERY_FILE_INFO, FID: 0x3004, Query File EA Info
> 63   server        client        SMB      Trans2 Response, QUERY_FILE_INFO
> 64   client        server        SMB      NT Create AndX Request, Path: \test:{4c8cc155-6c1e-11d1-8e41-00c04fb9386d}:$DATA
> 65   server        client        SMB      NT Create AndX Response, Error: STATUS_OBJECT_PATH_NOT_FOUND
> 66   client        server        SMB      Close Request, FID: 0x3004
> 67   server        client        SMB      Close Response
> 
> Best Regards!
> 
> // Zeyi

-- 
"Implementing CIFS - the Common Internet FileSystem" ISBN: 013047116X
Samba Team -- http://www.samba.org/     -)-----   Christopher R. Hertel
jCIFS Team -- http://jcifs.samba.org/   -)-----   ubiqx development, uninq.
ubiqx Team -- http://www.ubiqx.org/     -)-----   crh at ubiqx.mn.org
OnLineBook -- http://ubiqx.org/cifs/    -)-----   crh at ubiqx.org


More information about the samba-technical mailing list