对写入 NAS 的 Wi-Fi 性能缓慢进行故障排除

Ale*_*ysh 7 troubleshooting nas wireless-networking macos

设置:

  • 一台 2007 年末的MacBook Pro,运行最新的OS X 10.6,
  • 通过Wi-Fi接入点ASUS WL-330gE 连接
  • 到最新DSM 4.0下运行的NAS Synology DS508上的AFP共享

从 Mac 到 NAS 执行 rsync 时,我遇到上传速度缓慢的问题。

在大小为 20+MB 的文件上,rsync 报告1.5–2.0 MB/s(这很慢)。在 2MB 大小的文件上,rsync 报告 15-20 MB/s(可以)。如果我并行运行两个 rsync 进程(在不同的大文件集上),两者的传输速度将为1.5–2.0 MB/s

如果我禁用 Wi-Fi 并通过以太网电缆连接我的 Mac,上传速度适用于所有文件大小。

如何解决此问题?

Spi*_*iff 21

让我们运行数字

首先,让我们收集您的硬件规格并快速估算您的速度应该是多少。

假设和输入

  • 网络速度通常以每秒兆位 (Mbps) 为单位,即 10^6 = 1,000,000 位每秒。磁盘/文件 I/O 速度通常以每秒兆字节 (MiB/sec) 为单位给出,即每秒 2^20 = 1,048,576 个 8 位字节。所以 1 MiB/秒 = 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/秒。

  • TCP over IPv4 超过 802.11a/b/g Wi-Fi 效率的经验法则大约是您的 Wi-Fi PHY 速率(物理层信号速率)的 50%。802.11n 和 802.11ac 可以通过帧聚合接近 80%,但 802.11g 没有。

  • TCP over IPv4 over gigabit Ethernet 的经验法则是 94.1% 的效率。也就是说,借助良好的硬件、操作系统和软件,您可以通过千兆以太网获得 941 兆位/秒的纯 TCP 吞吐量。

  • 现在让我们假设您正在一个干净的信道上使用 Wi-Fi,并且您的 MacBook Pro 离您的 AP 足够近,您总是获得 54 兆位/秒的最大 PHY 速率,而您那可怜的旧华硕 AP 可以处理。

计算:

54 Mbps,乘以 50% 的效率,除以 8.4 以从 Mbps 转换为 MiB/秒。

( 54 * .5 ) / 8.4 = 3.2 MiB/sec在理想条件下预期的纯 TCP 吞吐量。

AFP 是一种远程文件系统协议,而远程文件系统协议作为一个类会增加显着的额外开销,因为它们经常在一堆较小的读取或写入中传输文件,这会导致网络流量激增,而不是建立一个恒定的数据流来保持网络充分利用。加上磁盘,甚至是 RAID5 磁盘,都会增加一些延迟。

因此,总体而言,1.5-2.0 MiB/sec 的 AFP 文件传输性能实际上对于可能存在干扰或无法始终保持 54Mbps PHY 速率且有时会下滑的实际 RF 条件来说听起来相当合理48、36 或 24Mbps PHY 速率。

千兆以太网案例

当您切换到将 MacBook Pro 的千兆以太网直接插入 Synology 的千兆以太网端口时,您可能会得到如下结果:

1000 Mbps,乘以 94.1% 的效率,除以 8.4 以从 Mbps 转换为 MiB/秒:

(1000 * .941) / 8.4 = 112 MiB/秒

这超过了 Synology DS508 的 34MiB/秒 RAID5 写入速度。所以在有线千兆以太网的情况下,Synology 的磁盘速度将成为瓶颈,而不是网络。

那么令人惊讶的“rsync”速度呢?

这引发的一个问题是,为什么您会通过 Wi-Fi 上的 rsync 看到 15-20 MiB/秒。除非 rsync 有时只是在骗你,我敢打赌你正在利用rsync的能力在通过网络发送文件之前压缩文件。是-z--compress(或一些明确的子串--compress),以你的论据之一rsync?这种压缩是唯一可以真正实现 10 倍加速的原因,或者任何在 802.11g 风格的 Wi-Fi 链接上获得超过 3.2MiB/秒的加速。一个较小的影响是,根据您调用 rsync 的方式,您可能根本不会通过 AFP。rsync可用于同步两个“本地”目录(和 AFP 安装的远程目录看起来是本地的rsync在这种情况下),或者可以通过将自己的 rsync 网络协议与在远程设备上运行的 rsync 服务器对话的方式调用它。Synology NAS 设备似乎能够运行 rsync 服务器。rsync自己的网络协议可能比 AFP 网络效率高得多,但仍然不会让你通过那个糟糕的 Wi-Fi 链接超过 3.2MiB/秒。

那么我该如何解决这个问题呢?

购买像 2007 年末 MacBook Pro 那样支持“N300”的 Wi-Fi AP,您可以获得高达 6 倍或更多的简单改进。具体来说,这是 2x2:2(2 个空间流)802.11n,具有 40MHz 信道和5GHz RF 频段中的短 GI. 你的 2007 年末 MacBook Pro 已经支持这种模式,一些 AP 供应商可能会称之为“5GHz N300”。请注意,您不能只购买任何“N300”AP;您需要一个可以在 5GHz 下工作的设备,因为 Mac 仅支持传统 2.4GHz 频段中较窄的 20MHz 宽通道,因此如果您在 2.4GHz 中尝试此操作,您的 Mac 将以 130Mbps PHY 速率而不是 300Mbps PHY 速率达到最大值. 如果您周围有任何其他仅支持 2.4GHz 频段的设备,那么您可能需要获得一个“同时双频”AP。或者为旧的 2.4GHz 设备保留蹩脚的 Asus 802.11g AP,并为 MacBook Pro 等支持 5GHz 的设备购买一次一个频段、支持 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/sec理想条件下的预期纯 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 年型号的 Retina 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.02 Gbps TCP/IPv4 吞吐量为 1,300 Mbps 802.11ac Retina MacBook Pro 计时,通过 802.11ac AirPort Extreme 桥接时为 840 Mbps TCP 吞吐量Wi-Fi 到千兆以太网。这是100 MiB/sec,这将使您的 Synology 磁盘速度再次成为读取或写入的瓶颈。在理想条件下。天啊。

tl;博士

  • 考虑到您的硬件和实际射频条件,您将获得可预期的最佳效果。
  • 您的华硕 Wi-Fi AP 是瓶颈,因为它只支持 802.11g。
  • 如果您将华硕 AP 替换为最大限度发挥 MacBook Pro 的“N300”功能(您可以廉价或免费获得)的 AP,您可以轻松地将吞吐量提高 6 倍或更多。
  • 如果您将 AP 和 MacBook Pro 更换为 2013 款支持 1300Mbps 802.11ac 的机型,您可以获得更显着的改进,而 Synology DS508 将成为瓶颈。