Re: optimize mount.cifs for speed?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Aug 3, 2011 at 10:57 AM, Steve French <smfrench@xxxxxxxxx> wrote:
> On Wed, Aug 3, 2011 at 6:52 AM, Steffie Morris <steffie.morris@xxxxxxxxx> wrote:
>> Hi, i have some questions (and problems) regarding speed in linux
>> using mount -t cifs for cifs shares.
>>
>> I have several ubuntu 10.10 workstations and a few windows
>> workstations, on wich i want to interact from one central fileshare.
>> At the moment i have a fileshare on a windows7 machine, and a
>> fileshare (samba) on an ubuntu machine.
>> The netwerk is 1 Gbit
>> From a windows client uploading/downloading to the linux samba server
>> i get 115 MB/s.
>> From a window client uploading/downloading to  a windows share i get
>> around 110 MB/s.
>
> linux cifs client may be faster than windows on LInux 3.0 and later
> kernels on writes to the server, but is usually slower on large file copy from
> the server due to lack of asynchronous dispatch of read (something
> Jeff and I have been looking at adding later this year).
>
> Even on older kernels, Linux cifs client does much better if multiple
> processes are running (and against different files/directories) since
> it looks like we can keep more requests in flight to the server than
> most other clients - except for the large file copy from the server
> (async file read) case.
>
>> From the linux client uploading to the windows share i get 60 MB/s.
>> From the linux client uploading to the linux samba  server i get 60 MB/s.
>
> On current kernels (e.g. Linux 3.0 and 3.01-rc) this (sequential
> write) should be wire
> speed - I got >85% wire utilization on GigE even between low end home
> systems with file copy.   (assuming your disks can keep up with this)
>
>> From the linux client reading from the windows share i get 17 MB/s.
>> From t he linux client reading from the linux samba share i get 17MB/s.
>
> Reads to the same file will be single threaded on the wire (and relatively
> smaller than what windows requests, 16K vs. ~60K) - if you have
> a multithreaded or multiprocess file copy application - you can
> increase speed of large file copy with mounting with
> "forcedirectio"
>
>> The biggest problem question i face, is why is reading thru a "mount
>> -t cifs" share this slow?
>> If the linux machine acts as a server the speed is really fast (in
>> combination with a windows client) but when i use the linux machine as
>> a client, the performance is not good.
>> Am i overlooking something? should i be using special options to
>> optimize performance for cifs in client mode on linux ?
>> I think i ruled out hardware network issue's as traffic the other way
>> around works (with linux as serving share), and also via FTP, or
>> testing with iperf gives me near full Gbit speeds.

Also note that Samba's "smbclient" utility (which has an "ftp" like
interface) does really well with large file copies - I don't know
of anything likely to much faster at the moment for large file copy.


-- 
Thanks,

Steve
--
To unsubscribe from this list: send the line "unsubscribe linux-cifs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux