Re: CIFS is slooow, gvfs is fast

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

 



On Fri, Oct 29, 2010 at 5:33 PM, J.A. MagallÃn <jamagallon@xxxxxxx> wrote:
> On Mon, 25 Oct 2010 15:44:44 +0530, Suresh Jayaraman <sjayaraman@xxxxxxx> wrote:
>
>> On 10/24/2010 05:00 AM, J.A. MagallÃn wrote:
>> > On Sat, 23 Oct 2010 00:46:36 +0200, "J.A. Magallïn" <jamagallon@xxxxxxx> wrote:
>> >
>> >>
>> >> If you mean hardware network path (cabling, router), yes.
>> >> For file paths, CIFS fs is under /net/htpc/media, and gvfs uses a mount
>> >> point on '~/.gvfs/media on htpc'.
>> >>
>> >> And here comes the weird part. To rule out the desktop environment factor,
>> >> I tried a dd in both paths. On /net, I get 16.6 MB/s, and on
>> >> ~/.gvfs/xxx, I just get 5.5 MB/s. I really don't understand anything...
>> >> things get reversed depending if you use a gui or commandline.
>> >>update
>> >> Weird, really weird...
>> >>
>> >
>> > Well, to sort things out, I did some more tests (this does not mean things
>> > get any closer to be clear for me at least...).
>> >
>> > Can anybody tell me whats going here...??
>> > It looks just like gui tools behave just in reverse of cli, and that a plain
>> > smbclient is faster that cifs. I'm really confused...
>> >
>>
>> Could you try mounting from commandline with something like
>> Â `mount -t cifs //server/share /mnt/point -o user=user1`
>> (commenting out the fstab entry) and try copying the file?
>>
>>
>
> Same results, cli copy takes about 7.5 seconds (thats around 40MB/s), and
> gui copy says it runs at 7.8 MB/s.
> This could be the normal behaviour I could expect, gui is slower as it has to
> update progress bars, move flying sheets, or even does a sync from time to
> time.
>
> The misbehaviour I see is the other way aroung, FUSE/GVFS is fast from GUI
> and slow from CLI. And, the best, why are there any difference ???

The obvious thing to check is actual cifs write sizes on the network
(with wireshark e.g.)
and how much parallelism.   We know cifs kernel client will send 56K
writes, but only one at
a time for any particular file.  (thanks to Pavel the smb2 kernel
client will send more
in parallel and get about two to three times better performance).   cifs kernel
client can send less than 56K if the dirty pages are scattered of course
(writepages won't be called with contiguous dirty pages) and cifs client can
send more than 56K when mounting with "directio" cifs mount option
but only if the application tries to write more than 56K for each user space
write operation (mounting with directio might be a nice comparison point).


-- 
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