Re: Slow SMB performance over GVFS
- From: Will Rouesnel <w rouesnel gmail com>
- To: Ross Lagerwall <rosslagerwall gmail com>
- Cc: gvfs-list gnome org
- Subject: Re: Slow SMB performance over GVFS
- Date: Tue, 15 Oct 2013 20:07:42 +1100
On Tue 15 Oct 2013 18:09:52 EST, Ross Lagerwall wrote:
On Mon, Oct 07, 2013 at 08:44:27PM +1100, Will Rouesnel wrote:
Rsync -W over SSH manages a good 50 - 100 MB/s no problems (accounting
for things getting cached on successive runs). This is still the top
performer - once the cache is warmed, it'll saturate the line.
GVFS over Samba manages 20-50mb/s tops.
GVFS over SFTP manages 33 mb/s very consistently - probably being
limited by SSH interaction though based on the rsync result it should be
faster.
A CIFS mount with default settings seems odd: rsync -W manages about
50mb/s, copying with Nemo cuts that down to 1-2 MB/s somehow.
Conversely, rsync -W using the GVFS mount is also only about 1-2 MB/s.
Using dd if=file | pv -B 10485760 | dd of=mount on the CIFS mount seemed
to give the best performance with CIFS - 70-80mb/s, bursting up to 100
quite easily. The big buffer size in pv seemed to help a lot, since
performance wasn't great with a smaller buffer.
The same command on a GVFS share still chugged at 1.6 mb/s.
Looking at the numbers, there might just be an issue with Samba -> Samba
communication on my network since CIFS and GVFS seem to maintain about
the same maximum throughput with their own commands. Though why Windows
-> Linux can manage much higher speeds is still a mystery.
I guess that still makes the big problem that block level commands are
so slow on GVFS, since my initial usage and frustration was pointing a
block-level app at a GVFS share and getting only 7-8 mb/s performance,
whereas to my hard drive I got 25-30mb/s (in this case, ripping a blu-ray).
If you have time, you could try GVFS from git. It has a patch to
improve the performance of writes to fuse mounts:
commit 8835238a5d0049e7639f792bf82d2105ad54cc11
Author: Ross Lagerwall <rosslagerwall gmail com>
Date: Tue Oct 8 08:21:47 2013 +0200
fuse: Use the big_writes option to speed up writes
Without the big_writes option, fuse uses a block size of 4096 bytes
which results in poor write performance. So use the big_writes
option to write blocks up to 64KiB in size.
https://bugzilla.gnome.org/show_bug.cgi?id=652540
I'll get that installed - it might be the magic thing that's missing.
Thanks!
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]