设置:
- 2007 年末MacBook Pro,运行最新OS X 10.6,
- 通过连接无线上网切入点,华硕 WL-330gE
- 到法新社在 NAS 上共享Synology DS508在最新环境下运行DSM 4.0。
当从 Mac 向 NAS 执行 rsync 时,我发现上传速度很慢。
对于 20+MB 大小的文件,rsync 报告1.5 至 2.0 MB/秒(速度很慢)。对于 2MB 大小的文件,rsync 报告速度为 15-20 MB/s(还可以)。如果我运行两个 rsync 进程并行(在不同组较大文件上),传输速度双方将1.5 至 2.0 MB/秒。
如果我禁用 Wi-Fi 并通过以太网电缆连接我的 Mac,则所有文件大小的上传速度都很好。
我该如何解决此问题?
答案1
让我们来计算一下
首先,让我们收集你的硬件规格,并快速估算一下你的速度应该是。
假设和输入
网络速度通常以兆比特每秒 (Mbps) 为单位,即每秒 10^6 = 1,000,000 个 1 位比特。磁盘/文件 I/O 速度通常以兆比字节每秒 (MiB/sec) 为单位,即每秒 2^20 = 1,048,576 个 8 位字节。因此 1 MiB/sec = 8.388608 Mbps。我们将其四舍五入为 8.4。
您的 2007 年末 MacBook Pro 配有 802.11n 卡,在 5GHz 无线电频段中与 40MHz 宽通道 (HT40) 和短保护间隔 (Short GI) 一起使用时,最高数据速率可达 300 Mbps。相比之下,它的有线以太网是千兆位的。
不幸的是,您的 ASUS WL-330gE 是一款非常差劲的 Wi-Fi AP;它停留在 11 或 12 年前的 802.11g(又称“Wireless-G”)速率上,因此它的最大速度为 54 Mbps。而在以太网方面,它只有 10/100 Mbps,而不是千兆位。
您的 Synology DS508 NAS 有两个千兆以太网端口,并声称 RAID5 写入速度为 34+ MiB/秒,RAID5 读取速度为 54+ MiB/秒。
802.11a/b/g Wi-Fi 效率上 TCP over IPv4 的经验法则是 Wi-Fi PHY 速率(物理层信令速率)的约 50%。802.11n 和 802.11ac 可以通过帧聚合接近 80%,但 802.11g 没有这个功能。
TCP over IPv4 在千兆以太网上的经验法则是 94.1% 的效率。也就是说,有了良好的硬件、操作系统和软件,您可以在千兆以太网上获得 941 兆比特/秒的纯 TCP 吞吐量。
现在让我们假设您正在干净的信道上使用 Wi-Fi,并且您的 MacBook Pro 离您的 AP 足够近,因此您始终可以获得可怜的旧华硕 AP 可以处理的最大 54 兆比特/秒 PHY 速率。
计算:
54 Mbps,乘以 50% 效率,除以 8.4,即可从 Mbps 转换为 MiB/秒。
(54 * .5)/8.4 =3.2 MiB/秒理想条件下预期的纯 TCP 吞吐量。
AFP 是一种远程文件系统协议,远程文件系统协议作为一个类别会增加大量额外开销,因为它们通常会以一系列较小的读取或写入操作来传输文件,从而导致突发网络流量,而不是设置一个恒定的数据流来保持网络充分利用。此外,磁盘(即使是 RAID5 磁盘)也会增加一些延迟。
因此,总体而言,1.5-2.0 MiB/秒的 AFP 文件传输性能实际上听起来非常合理,适用于现实世界的 RF 条件,因为在这种条件下可能会存在一些干扰,或者您无法始终保持 54Mbps PHY 速率,有时会下降到 48、36 或 24Mbps PHY 速率。
千兆以太网案例
当您将 MacBook Pro 的千兆以太网直接插入 Synology 的千兆以太网端口时,您可能会得到类似的结果:
1000 Mbps,乘以 94.1% 效率,除以 8.4,将 Mbps 转换为 MiB/秒:
(1000 * .941)/ 8.4 =112 MiB/秒
这比 Synology DS508 的 RAID5 写入速度 34MiB/秒还要快。因此,在有线千兆以太网的情况下,Synology 的磁盘速度才是瓶颈,而不是网络。
那么为什么 `rsync` 的速度如此之快呢?
由此引发的一个问题是,为什么您会看到通过 Wi-Fi 的 rsync 达到 15-20 MiB/秒的速度。除非 rsync 有时只是在骗您,否则我敢打赌您是在利用 的rsync
功能,在通过网络发送文件之前对其进行压缩。-z
或--compress
(或 的某个明确子字符串--compress
)是您对 的参数之一rsync
吗?压缩是唯一真正能够实现 10 倍加速的东西,或者任何通过 802.11g 样式的 Wi-Fi 链接获得超过 3.2MiB/秒的加速的东西。较小的影响是,根据您调用 rsync 的方式,您可能根本不会通过 AFP。rsync
可用于同步两个“本地”目录(rsync
在这种情况下,AFP 安装的远程目录看起来是本地的),或者可以以将其自己的 rsync 网络协议与在远程设备上运行的 rsync 服务器通信的方式调用它。Synology NAS 盒似乎能够运行 rsync 服务器。rsync
自己的网络协议可能比 AFP 的网络效率更高,但在较差的 Wi-Fi 链路上仍然无法使速度超过 3.2MiB/秒。
那么我该如何解决这个问题?
通过购买支持“N300”的 Wi-Fi AP(如 2007 年末的 MacBook Pro),您可以轻松获得高达 6 倍或更多的改进。具体来说,这是 2x2:2(2 个空间流)802.11n,具有 40MHz 信道和短 GI在 5GHz 射频频段。您的 2007 年末 MacBook Pro 已经支持此模式,一些 AP 供应商可能将其称为“5GHz N300”。请注意,您不能随便购买任何“N300”AP;您需要一个可以在 5GHz 下工作的 AP,因为 Mac 仅支持旧版 2.4GHz 频段中较窄的 20MHz 宽通道,因此如果您在 2.4GHz 下尝试此操作,您的 Mac 将以 130Mbps PHY 速率达到最大值,而不是 300Mbps PHY 速率。如果您周围有任何其他仅支持 2.4GHz 频段的设备,那么您可能需要购买“同步双频”AP。或者将您糟糕的华硕 802.11g AP 保留用于旧的 2.4GHz 设备,并为您的 5GHz 设备(如 MacBook Pro)购买一个一次只支持一个频段、支持 5GHz 的“N300”AP。
从您的 2007 MacBook Pro 对它的支持可以看出,300Mbps 802.11n 已经是 7 年前的技术了,所以您可能会发现有人正在扔掉旧的 AP,因为他正在升级到 802.11ac 或类似的技术。
“N300” 的计算:
300 Mbps,乘以 80% 效率(802.11n 支持帧聚合),除以 8.4,即可从 Mbps 转换为 MiB/秒。
(300Mbps * .8)/8.4 =28.6 MiB/秒理想条件下预期的纯 TCP 吞吐量。
这表明,只要从 12 年前的 Wi-Fi 技术升级到 7 年前的 Wi-Fi 技术,您就可以在理想条件下更接近实现 Synology DS508 NAS 的最大 34MiB/秒的写入速度。
802.11ac 怎么样?
要想比 N300 有大幅提升,就需要将 AP 和 MacBook Pro 都升级到 802.11ac。但升级 Mac 上的内置卡几乎是不可能的,802.11ac USB 适配器也很糟糕,而且 802.11ac 比 2007 年 MacBook Pro 的 USB 2.0“高速”480Mbps 还要快。因此,尝试升级 6 年前的 MacBook Pro 中的无线功能是不值得的。相反,也许您可以以此为理由购买 2013 年或 2014 年款的视网膜 MacBook Pro 或 MacBook Air,它们内置 802.11ac PCIe 卡,分别能够达到 1300 Mbps 和 867 Mbps PHY 速率。再加上 2013 年的 802.11ac AirPort Extreme(1300 Mbps),您将拥有一个速度很快的 2013 年网络。
我在直接 Wi-Fi 连接(一台 Mac 充当 AP)上对 1,300 Mbps 802.11ac Retina MacBook Pro 进行了测试,其 TCP/IPv4 吞吐量为 1.02 Gbps,在通过 802.11ac AirPort Extreme 从 Wi-Fi 桥接到千兆以太网时,其 TCP 吞吐量为 840 Mbps。100 MiB/秒,这将使 Synology 的磁盘速度再次成为读取或写入的瓶颈。在理想条件下。YMMV。
总结
- 根据您的硬件和实际的 RF 条件,您将获得预期的最佳效果。
- 您的华硕 Wi-Fi AP 是瓶颈,因为它仅支持 802.11g。
- 如果您将您的华硕 AP 替换为可以最大程度发挥您的 MacBook Pro 的“N300”功能的 AP(您可能可以便宜或免费获得),您可以轻松地将吞吐量提高 6 倍或更多。
- 如果您将您的 AP 和 MacBook Pro 替换为 2013 年型号(支持 1300Mbps 802.11ac),您将获得更为显著的改善,而您的 Synology DS508 将成为瓶颈。
答案2
答案很简单,买一个新的无线 AP,先生,你有一个 11g 的,在现实世界中基本上是 54mbps 或 ~2.5 MB/s
以太网的性能之所以更快是有原因的,因为速度是 100mbps 或 ~10 MB/s
根据需要升级到 11n 或 11ac,或者永久使用以太网
无论如何,这只是我的一点看法