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

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

我有一台运行 Gentoo 的大硬盘电脑。我必须通过有线网络向 Apple 设备(所有设备都运行 OS X)提供中/大文件。

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

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

答案1

你应该会发现这篇文章很有趣:
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

答案2

我对 OS X 中的 iscsi 和不同网络协议的 i/o 速度进行了一些真实的、非科学的测试。

我的设置:

  • 2011 年初 MPB 运行 OS X 10.7 Lion,连接到 Netgear 千兆交换机
  • Qnap TS-419P II NAS 配备 4 个磁盘,组成 RAID5,连接到 Netgear 千兆交换机
  • Buffalo LinkStation Pro NAS,带 1 个磁盘,连接到 Netgear 千兆交换机
  • 使用适用于 OS X 的 globalSAN iSCSI 启动器进行 iSCSI 测试

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

写入性能:

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

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

设置 NFS 的异步选项可以大大提高读取性能,我使用以下 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/s
  3. Qnap,ISCSI = 60.22 mb/s
  4. Qnap,NFS = 46.51 mb/s
  5. Qnap,SMB = 35.82 mb/s
  6. 布法罗,法新社 = 5.46 mb/s

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

读取性能-无需重启

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

我的结论:我将使用 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

我已经对 FTP、Samba、iSCSI 和 NFS 进行了测试NAS 上不同共享方案的文件传输使用 QNAP TS-112。测试结果以 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 作为主要协议。

希望它有帮助!

答案4

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

  • 中小企业
  • 法新社 - 媒体报道
  • NFS - NIX

相关内容