gvfs SMB 性能缓慢

gvfs SMB 性能缓慢

如果我使用 Nautilus 使用/访问 SMB 共享或手动使用“gvfs-mount smb://SERVER-IP/Share”,我的性能会很差,在我的 100 Mbit 网络上只有大约 7 mb/s。

如果我在 Windows 上访问相同的共享,我可以获得全速 100 Mbit(大约 11 mb/s),另外如果我使用sudo mount -t cifs //SERVER-IP/Share /mountpountcifs 而不是 gvfs 进行挂载,我也可以获得全速,所以有人能告诉我 gvfs 中是否存在性能问题/错误,或者 gvfs 如何不同地使用 SMB 共享?

我使用多个文件测试了读取性能(从我的网络 SMB 共享),并且 cifs 版本始终是全速的,而 GVFS 版本的速度则低了一些 mb/s。

经过一番研究,我发现了一些优化 Ubuntu 安装的 SMB 设置的技巧和一些网络调整技巧,但由于 CIFS 安装共享获得了完整的网络速度,我不相信这是那种问题。

答案1

同样,12MB/s 与 5MB/s。我认为主要区别在于缓冲区大小。通过 CIFS,我使用 1MB 缓冲区大小,据我所知,通过 GVFS 您无法设置缓冲区大小。我检查了代码https://wiki.gnome.org/Projects/gvfs但我并不是 C 语言专家。据此,GVFS SMB 实现可以处理的最大缓冲区大小为 64KB。通过从 SMB 复制到同一 SMB 驱动器,缓冲区大小是手动给定的,并且只有 4KB。在其他部分,它是从我没有检查的上层抽象层注入的。这是一个很大的库。我怀疑 GVFS 默认只使用 4KB 缓冲区大小。我尝试使用 64KB 缓冲区大小的 CIFS 安装,它的速度与 1MB 缓冲区大小的速度相同。我等待 Gnome 人员确认这一点和/或以某种方式修复它。顺便说一句,这是一个非常古老的错误,至少我在许多论坛上都读到过它。

相关内容