调试Samba性能的提示?


8

在相同情况下,Samba可以读取24 MB / s,写入44 MB / s,而ftp可以读取97 MB和112 MB / s。

文件

通常,您应该发现Samba在原始传输速度下的性能与ftp相似。

就我而言,显然不是。

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

或以其他方式替代Samba的提示?(不幸的是,我不能使用ftp,因为我需要可以与rsync / rsnapshot一起使用的东西。)

更多细节:

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

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

  • ftp性能是来自ftp客户端的相同文件的获取/输出编号。
  • iperf 使网络速度达到约900 Mbits / s
  • bonnie++ 使块读取和块写入的磁盘速度都超过200 MB / s
  • 试图更改性能调整HOWTO中建议的参数(读取/写入原始数据,读取大小,套接字选项),但大多数参数几乎没有差别。(产生差异的原因导致写入速度下降了50%。)

更新:根据2009年Samba邮件列表,性能问题源自smbfs / cifs而不是Samba服务器。
jg-faustus

Answers:


3

实际上,一旦使用FTP,FTP的数据吞吐率就会非常高。使事情变慢的开销首先是要下载文件。这并不是说Samba在这里没有问题。它的性能应该几乎相同。

老实说,我没有太多线索可以开始尝试解决此问题。

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

不久前,我看到了一些有关Samba下某些网络硬件故障的信息。它既是交换机又是网络适配器,但我终生无法找到任何有关它的信息。这可能是一个极端情况,因此不值得考虑。

我们回避桑巴怎么样?FTP可能不起作用,但是NFS怎么办?它可能具有最高的传输速度(以我的经验),并且应该可以处理rsync。

您还可以查看FUSE挂载的FTP服务器,以便rsync可以欺负它。


感谢您的提示和反馈-我不知道可以通过cifs挂载FTP吗?我也会研究NFS。如果糟糕的Samba性能不是无关紧要的,并且与Ubuntu无关,那么它是否属于Samba邮件列表或类似的列表,而不是此处?
jg-faustus

您的答案可能是我要获得的最佳答案:)再次感谢。
jg-faustus

1
你可以安装FTP资源:curlftpfs [用户@]主持人:[DIR]挂载点[选项]
喷气

1

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


ssh上的rsync速度为60 MB / s,大约介于Samba和FTP之间。但是在其他地方看到的一个提示是,守护程序模式下的rsync(将一台机器作为rsync服务器)可以与FTP媲美,接下来我会尝试。
jg-faustus

1

您可以在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

我已经尝试了其中一些。TCP_NODELAY:微小的改进。原始写入和原始读取:没有明显区别。SO_SNDBUF和SO_RCVBUF:降低了50%的写入性能,没有进一步追求。如果有机会,我会检查其余的部分。
jg-faustus
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.