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

Xia, Arandar Arandar.xia at chn.fujixerox.com
Wed Apr 29 02:22:18 GMT 2009


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


More information about the samba-technical mailing list