当我尝试从 Samba 4 共享复制文件或将文件复制到 Samba 4 共享时,我发现性能非常慢。我使用的是 Debian 和 Samba 4 SerNet 软件包,客户端和服务器上的所有内容都是最新的。连接是通过 100Mbp/s 以太网建立的,但问题也存在于在 Debian 服务器上运行的本地虚拟机上。
我说的极其糟糕是指真的糟糕透顶:
- 将包含 50 个文件(总大小为 10 MB)的文件夹复制到 Win7:约 20 分钟,速度为 3-4 Kb/s
- 将同一文件夹复制到 Windows Server 2003:约 3 秒
- 将 500 MB 的大型随机文件复制到 Win 7:需要很长时间才能开始复制进度,速度最高可达 10 MB/s
- 将同一个大文件复制到 Windows Server 2003:立即开始复制并需要几秒钟
我已经在 Google 上搜索了好几天,找到了很多建议:
- 更改交换机:其中一台测试机器在主机上作为虚拟机运行,所以这不是问题
- 更新网络驱动程序:同样的事情,使用不同的机器和虚拟机,所有机器都存在问题
- 在客户端上关闭远程差分压缩:毫无帮助
- 使用 netsh 禁用客户端上的自动调整:根本没有帮助
- 确保不要使用映射驱动器,而是使用 UNC 路径:登录时有帮助,但对文件传输没有影响
- 尝试将 samba 服务器上的最大协议切换为 NT1: 之类的协议,但没有帮助
- 不要使用任何其他自定义 smb.conf 选项,如套接字等。
唯一可行的办法是使用 robocopy。有了它,上面的 10 mb 文件夹在 Windows 7 上也只需要几秒钟,但是:从现在起我不能强迫我的用户使用 robocopy.....一定有办法解决这个问题!
感谢帮助!
答案1
您需要检查以下几件事:
- CPU 负载和 RAM 使用情况
- 磁盘输入输出
- 网络性能
- 尝试使用其他发行版的 samba4 -http://backports.debian.org/
有用的命令:
top
htop
iotop
我正在运行来自 Wheezy Backports 的 samba4,复制速度平均为 40MB/s。