Thank Mark.

I have tried another test program in Linux, it call 2 C lib functions
(open & fstat) to small files, and I compute the time they take via
gettimeofday system call.

        // C code ... 
        ret = gettimeofday(&before, &zone);
        fd = open(argv[1], O_RDONLY);
        ret = gettimeofday(&after, &zone);
        interval1 = (after.tv_usec - before.tv_usec);
        ret = fstat(fd, &buf);
        ret = gettimeofday(&before, &zone);
        interval2 = (before.tv_usec - after.tv_usec);
        // C code ...

Linux Test results(time unit is usec):
        case      open      fstat
        ----      ----      -----
        1         800       240
        1         757       239
        2         18175     245
        2         17240     246
Case 1: smbmount Linux/samba's share that contains 20,000 small files
        set 'case sensitive = Yes' in smb.conf   
Case 2: smbmount Windows's share that contains 20,000 small file

Test analysis:
1. Linux/samba performs much better than Windows as for open system call.
2. The 2 Operation systems have same performance with fstat system call.


But when VB test program in Windows is used, Windows has much better 
perpormance then linux/samba

        // VB code ...
        Set objFSO = CreateObject("Scripting.FileSystemObject")
        thistime = thisnow
        If objFSO.FileExists(fn) Then
                totle = totle & "Check file time " & CStr(thisnow - thistime) + " ms" 
+ vbCrLf
                thistime = thisnow
                Set objFile = objFSO.GetFile(fn)
                totle = totle & "Get object time " & CStr(thisnow - thistime) + " ms" 
+ vbCrLf
                thistime = thisnow
                temp = DateValue(CStr(objFile.DateLastModified))
                totle = totle & "Get date time " & CStr(thisnow - thistime) + " ms" + 
vbCrLf
        End If
        // VB code ...

Windows Test results(time unit is msec):
        case   FileExists  GetFile  DateLastModified
        ----   ----------  -------  ----------------
        1         20       0        100
        1         0        0        120
        1         0        0        61
        2         30       10       0
        2         30       0        0
        2         10       0        0
Case 1: map Linux/samba's share that contains 20,000 small files
        set 'case sensitive = Yes' in smb.conf  
Case 2: map Windows's share that contains 20,000 small file


Can we get the follow conclusions as for check small file's property:
1. Windows client can get much better performance from Windows's share than others'
2. Linux client can get much better performance from Linux/Samba's share than others'

Best Regards!
Jacky Kim
.

>Hi,
>
>The next step is probably to capture some network traces of your
>benchmarking test and compare and contrast the NT and Samba backends.
>
>Playing with the negotiated protocol level might win you some more
>performance by simplifying the transactions.  It may lose you a lot too
>though.  (See max protocol option)
>
>There are the max xmit/socket options/stat cache tweakables.  If you
>have logging wound up on the linux box, that can affect performance
>greatly too.
>
>How does performance of the filesystem on the linux machine vary with
>number of files in the directory ?  Ie, take samba out of the equation
>and see if you're running into underlying issues with your file layout.
>
>Splitting your directory into a hierarchical structure is certainly more
>scalable than a flat directory.
>
>Mark
>



-- 
To unsubscribe from this list go to the following URL and read the
instructions:  http://lists.samba.org/mailman/listinfo/samba

Reply via email to