[linux-cifs-client] CIFS very large write: preliminary results

Steve French smfrench at gmail.com
Thu Nov 8 05:02:42 GMT 2007


jra,
The large file copy (very large write) changes that I prototyped for
the client and you made to Samba demonstrate significant performance
improvement.  See below:


302MB copy (dd if=/dev/zero bs=1512000 count=200 of=/mnt/target-file)
at different block sizes from
Linux cifs client with large write patch, and current Samba 3.2 (with
min receivefile size 100000 in smb.conf)

Over Gigabit Ethernet link (ran 5 times with each):

wsize = 32K             11 MB/sec average (fastest, peak run was 12.3 MB/sec)
wsize = 56K (default) 35.5 MB/sec (fastest 40.5)
wsize = 64K             26.8  MB/sec (fastest 30.4)
wsize = 128K            49.9 MB/sec  (fastest  75.3!)
wsize = 256K            63.5 MB/sec  (fastest  70.2)
wsize = 512K            61.7 MB/sec (fastest 69.2)
wsize = 760000         69.4 (!) MB/sec (fastest 77.9!)



Over 100MBit link (with switch in between) Ran 3 to 5 times each:

wsize=32K                7.57 MB/sec average (peak run was 8 MB/sec)
wsize=56K (default)    7.84 MB/sec (fastest was 8.9)
wsize=64K                 8.43 MB/sec (fastest was 9.1)
wsize=128K               8.1 MB/sec (fastest was 9.1)
wsize=256K               8.45 MB/sec  (fastest was 10.3)
wsize=512M              8.65 MB/sec (fastest was 10.7)


Very promising.  Almost a doubling of performance of large file write
speed over GigE.  Over 100Mbit we are constrained by the network link
and switch.   As you mentioned this will get even better when the
splice code (tcp socket copy to file) is complete in the kernel.

My client patch needs some work to remove build warnings - and I would
like second opinions on it from Shaggy and others.  I will post it for
comment tomorrow.

-- 
Thanks,

Steve


More information about the linux-cifs-client mailing list