GNOME Bugzilla – Bug 688079
Poor SMB performance compared to regular mount
Last modified: 2013-10-26 18:20:42 UTC
Please describe the problem: Slow GVFS-SMB performance over network compared to SMB hard mount. When mounting through GVFS transfer speeds stay steady around 682 kB/s versus mounting the share through regular command line where speeds stay around 4.1 MB/s. Steps to reproduce: 1. Mount with GVFS, test with dd if=/dev/zero of=test1.out bs=500K count=50. 2. Get poor performance 3. Mount with mount -t cifs //servername/share /mnt/ -o user=user 4. Test with dd if=/dev/zero of=test1.out bs=500K count=50 5. Get acceptable performance Actual results: Transfer speeds around 682 kB/s Expected results: Transfer speeds around 4.1 MB/s Does this happen every time? Yes Other information: Fedora 17 gvfs-smb-1.12.3-1.fc17.x86_64 gvfs-fuse-1.12.3-1.fc17.x86_64 gvfs-1.12.3-1.fc17.x86_64 Connection is wireless on my laptop but tests were repeated back to back multiple times with similar results so I do not believe it is the connection.
I think this is DUPLICATE of https://bugzilla.gnome.org/show_bug.cgi?id=532951 but I don't have privileges to change the status. Could someone confirm & change the status accordingly? FYI, bug #532951 doesn't come to a conclusion about the causes, but https://bugs.launchpad.net/ubuntu/+source/gvfs/+bug/250517 attributes it to network latency and the implementation in GVFS of synchronous transfer (i.e., the sending end waits for acknowledgement from the receiving end before sending the next package).
*** Bug 704970 has been marked as a duplicate of this bug. ***
What you're seeing here is likely poor performance over the fuse backend when writing. This was somewhat improved with [1]. Doing the test with a local smb server over a tmpfs on a slow Atom processor gets 70-90 MB/s with a CIFS mount and 24-25 MB/s with a GVFS mount. Not perfect but a good deal better. I'll close this for now, but obviously we're still looking to improve the performance more... [1]: 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