AFP,SMB,NFS哪个是最好的数据传输协议?


14

我有一台装有运行Gentoo的大硬盘的计算机。我必须通过有线网络将med / big文件提供给Apple设备(所有设备都运行OS X)。

哪种协议最适合以下需求?:

  1. 速度
  2. 易于使用(由客户端和服务器使用)
  3. 较少限制(最大文件大小,文件名限制字符集)
  4. 安全

Answers:


7

您应该发现这篇文章很有趣:
Mac OS X 10.5.5客户端的iSCSI,AFP,SMB和NFS性能

它显示以下测试结果:

(片刻之间)

iSCSI 134.267530
AFP 140.285572
SMB 159.061026
NFSv3(无调整)477.432503
NFSv3(无调整)293.994605


感谢您的文章,它很有用!我能否说在我的情况下,AFP会比其他人更快,更容易使用?
卡米2010年

3
报告的NFS v3结果非常糟糕。在我为客户优化吞吐量的适度广泛的工作中,NFS的速度往往是SMB的两倍或更多。如果一台服务器,一台主机通过千兆网络且没有其他流量,那么当CIFS超过250时,我可以为NFS每秒获得900兆位。可以肯定的是,这不是可持续的实际吞吐量,并且不会使这些测试无效本身,但确实使我对结果非常怀疑。
乔恩·拉塞尔

@Jon Lasser:这种测试的麻烦在于它们通常仅对所使用的硬件和测试的性质是正确的。通常,它们充其量仅是较弱的指标。
harrymc'2

@Kami:根据我上面对Jon Lasser的评论,我无法回答。如果有时间,您可以尝试在硬件上复制这些测试结果。如果它们之间有任何不同,您可能会在这里发布它。
harrymc

7

我已经在OS X中对iscsi的I / O速度和不同的网络协议进行了一些非科学的实际测试。

我的设置:

  • 2011年初,MPB runnig OS X 10.7 Lion,连接到Netgear千兆交换机
  • Qnap TS-419P II NAS具有RAID5中的4个磁盘,已连接到Netgear千兆交换机
  • 具有1个磁盘的Buffalo LinkStation Pro NAS,已连接到Netgear千兆交换机
  • 用于OS X的globalSAN iSCSI启动器用于iSCSI测试

通过将大约2gb的摄像机原始文件(每个大小约为20-25mb)复制(cp)到设备,重新启动设备并将相同的数据复制回本地SSD驱动器,进行了测试。

写性能:

  1. Qnap,异步NFS = 34.59 mb / s
  2. Qnap,AFP = 31.83 mb /秒
  3. Qnap,ISCSI = 31.89 mb /秒
  4. * Qnap,SMB,cp = 30.71 mb / s
  5. Qnap,NFS = 27.22 mb /秒
  6. 布法罗,法新社= 10.07 mb / s
  7. * Qnap,SMB,MV = 3.93 mb / s

*)仅当使用SMB时,我得到的写入性能结果与使用cp或mv命令将文件复制到设备时截然不同!

设置NFS的async选项可以大大提高读取性能。我使用以下mount命令进行测试:

mount -t nfs -o resvport,soft,intr,rsize=32768,wsize=32768,timeo=900,retrans=3,proto=tcp,vers=3,async server:/share /private/share/

阅读表现:

  1. Qnap,异步NFS = 71.99 mb / s
  2. Qnap,AFP = 67.44 mb /秒
  3. Qnap,ISCSI = 60.22 mb /秒
  4. Qnap,NFS = 46.51 mb /秒
  5. Qnap,SMB = 35.82 mb /秒
  6. 布法罗,法新社= 5.46 mb / s

协议似乎对缓存的处理方式有所不同。这是将文件复制到设备并立即返回到本地SSD驱动器(无需重新启动设备)时得到的结果

读取性能-无需重启

  1. Qnap,ISCSI = 151.71 mb /秒
  2. 布法罗,法新社= 145.54 mb / s
  3. Qnap,AFP = 143.23 mb /秒
  4. Qnap,异步NFS = 71.99 mb / s
  5. Qnap,NFS = 47.37 mb /秒
  6. Qnap,SMB = 38.13 mb /秒

我的结论:我将使用AFP或NFS,因为两种协议都为我的目的(Lightroom,备份,媒体流)提供了相似的性能和灵活性(与iSCSI相比)


3

尽管它们是数据传输协议,但我想提醒您,它们不接受与文件名相同的字符。例如\ /:*?” <> | Windows NTFS和Samba中不允许使用。

根据我在运行AppleTalk兼容服务的MacOS 8.6和Windows 95上的经验,Apple Talk协议发生了这种情况。MacOS允许文件名中的某些字符对Windows无效。

有关将我的文件从Linux桌面复制到运行Samba和NFS的QNAP TS-212P的经验的详细信息,可以在“将Linux文件备份到QNAP TS-212P的性能比较”中找到。测试结果以MB / s为单位对您有什么兴趣:

  1. 通过命令在终端中进行Samba安装:读取63,写入43
  2. 在终端中通过命令安装NFS:读取71.8,写入31.8

我使用QNAP TS-112 在NAS上的“使用不同共享解决方案的文件传输”中对FTP,Samba,iSCSI和NFS进行了测试。测试结果以MB / s为单位对您有什么兴趣:

  1. Nautilus的Samba安装:读24.4,写18.6
  2. 在终端中通过命令安装Samba:读取56.4,写入36.3
  3. 在终端中通过命令安装NFS:读取42.5,写入20.6

因此,根据我的经验,Samba比NFS快。但是我的某些文件在NTFS和Samba中包含非法字符,因此我选择使用NFS作为主要协议。

希望能有所帮助!


1

基本上大多数(如果不是全部)协议都可以在任何平台上使用,但是其中一些协议比另一种协议更本地化

  • 中小企业-PC
  • 法新社-MAC
  • NFS-NIX

4
好的,我已经知道了,但是速度,易用性,局限性和安全性又如何呢?
卡米

实际上,这对我来说非常有用。
克里斯

不知道为什么这会被否决,除了可能有点简单。AFP在Mac上具有优势,因为它具有最佳的驱动程序,OS X的NFS支持不是很好,而SMB在最新的OS X版本上更好。因此,性能的一个重要因素是两端的协议支持。例如,在大多数情况下,具有良好AFP驱动程序的NAS最适合Mac用户。
哈拉维克
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.