调试 Samba 性能的技巧?

调试 Samba 性能的技巧?

Samba 的读取速度为 24 MB/s,写入速度为 44 MB/s,而在相同情况下 ftp 的读取速度为 97 MB/s,写入速度为 112 MB/s。

文档

通常,您会发现 Samba 在原始传输速度方面的表现与 ftp 类似。

就我的情况来说,显然不是。

在哪里可以找到有关如何调试 Samba 性能的提示?

或者有什么技巧可以用其他东西替代 Samba?(不幸的是,我不能使用 ftp,因为我需要可以与 rsync/rsnapshot 一起使用的东西。)

更多细节:

  • 两台计算机都运行 Ubuntu 10.10(因为我也有 Mac,所以使用 Samba)
  • Samba 共享位于本地家庭网络上,安装为

    $ mount
    ...
    //server.local/share/ on /mnt/share type cifs (rw,mand)
    
  • Samba 性能的测试是通过cp在共享中复制()一个大小约为 4GB 的单个文件,并进行time计时和手动计算传输速度来实现的。

  • ftp 性能是来自 ftp 客户端的获取/放置同一文件的数字。
  • iperf网络速度约为 900 Mbits/s
  • bonnie++为块读取和块写入提供 >200 MB/s 的磁盘速度
  • 尝试更改性能调优指南(读/写原始数据、读取大小、套接字选项),其中大多数都没有什么区别。(有区别的那个导致写入速度下降了 50%。)

答案1

实际上,FTP 一旦启动,数据吞吐率就相当高。导致速度变慢的开销首先是下载文件。这并不是说 Samba 在这里没有问题。它的性能应该几乎相同。

说实话,我不太清楚应该从哪里开始解决这个问题。

理想情况下,您可以在那里放置另一台安装了 Samba 的参考计算机(例如 Windows),并将其作为客户端和服务器针对 Ubuntu 机器进行测试。然后,您就会知道哪台机器出了问题,如果问题只是一个方向,那么您就可以根据此情况报告错误和/或找到临时解决方法。

不久前,我看到一些关于 Samba 下某些网络硬件故障的信息。它既是交换机也是网络适配器,但我无论如何也找不到任何相关信息。这可能是一个极端情况,不值得考虑。

我们如何避开 Samba?FTP 可能行不通,但NFS? 它可能拥有所有产品中最高的传输速度(以我的经验来看)而且可以很好地处理 rsync。

您还可以查看 FUSE 安装 FTP 服务器,以便 rsync 可以控制它。

答案2

通过 ssh 运行 rsync 可以获得什么样的性能?也许你可以用 ssh 进行 rsync,然后在需要在 Mac 之间传输内容时使用 samba?

答案3

你可以在 smb.conf 中尝试这个

socket options = SO_KEEPALIVE SO_REUSEADDR \
   SO_BROADCAST TCP_NODELAY IPTOS_LOWDELAY \
   IPTOS_THROUGHPUT SO_SNDBUF=8192 SO_RCVBUF=8192

oplocks = yes

write raw = yes
read raw = yes

相关内容