我需要定期将大约 200GB 的数据从 MacBook 传输到 PC。由于两台设备都无线连接到我的路由器,因此我使用路由器提供的本地网络传输文件(主要是 10 到 100MB 大小的照片)。但数据传输速率太慢了:每秒 2 兆字节。简单计算:200 000MB / 2MB / 60s / 60min = 28 hours
这与我的实际结果大致相符。
我很好奇这是路由器的限制还是我做错了什么?我在他们的网站上找不到此类设置的相关规格文档据我所知,我应该受到最大上传速度的限制,122Megabit / 8 = 15.25 Megabyte per second
这应该比我观察到的传输速率快近 8 倍。
附言我不太可能受到两端硬盘 IO 的限制,我确实有 NVMe SSD,任务管理器/活动监视器显示 CPU 和硬盘几乎没有负载。我还尝试断开路由器上的所有其他设备(手机、平板电脑等)并关闭 PC 和 Mac 上的所有互联网连接,这带来了一些小小的改进:这3MB/s
是我能够挤出的最高速度。
评论问答
>> 你有什么路由器?
问题标题中提到了模型:美国网件 N600 C3700
>> 链末端 Wi-Fi 控制器的详细信息
Wi-Fi:英特尔® Wi-Fi 802.11 a/b/g/n/ac,支持 2.4/5 GHz 双频。支持 11ac 无线标准,数据速率高达 433 Mbps。
LAN:Intel® GbE LAN 芯片(10/100/1000 Mbit)
802.11ac Wi-Fi 无线网络;兼容 IEEE 802.11a/b/g/n
>> 相对于路由器,您的计算机位于哪里?
PC <-> 路由器 - 并排
Macbook <-> 路由器 - 1 米(3 英尺)以下
更新 #1
我尝试用数据线而不是 Wi-Fi 将我的电脑连接到路由器,结果文件传输速度提高 3-4 倍(7-8MB/s
与原版相比2-3MB/s
)。作为副作用我也有3 倍互联网速度提升(来自20-25Mb/s to 70-75Mb/s
。看来 Wi-Fi 连接是一个瓶颈,我没有充分利用我向 ISP 支付的带宽)!我接下来要做的事情或许将尝试购买 Thunderbolt 转以太网适配器(20 至 30 美元,而适当大小的外部存储解决方案则至少要 100 美元)。
更新 #2
当 PC 通过线连接到路由器时,iperf 输出
Macbook 是服务器
iperf3.exe -c 192.168.0.14
Connecting to host 192.168.0.14, port 5201
[ 4] local 192.168.0.17 port 2734 connected to 192.168.0.14 port 5201
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-1.00 sec 640 KBytes 5.23 Mbits/sec
[ 4] 1.00-2.00 sec 1.00 MBytes 8.40 Mbits/sec
[ 4] 2.00-3.00 sec 1.00 MBytes 8.38 Mbits/sec
[ 4] 3.00-4.00 sec 1.00 MBytes 8.40 Mbits/sec
[ 4] 4.00-5.00 sec 896 KBytes 7.34 Mbits/sec
[ 4] 5.00-6.00 sec 512 KBytes 4.19 Mbits/sec
[ 4] 6.00-7.00 sec 1.00 MBytes 8.40 Mbits/sec
[ 4] 7.00-8.00 sec 384 KBytes 3.14 Mbits/sec
[ 4] 8.00-9.00 sec 1.00 MBytes 8.39 Mbits/sec
[ 4] 9.00-10.00 sec 896 KBytes 7.34 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-10.00 sec 8.25 MBytes 6.92 Mbits/sec sender
[ 4] 0.00-10.00 sec 8.25 MBytes 6.92 Mbits/sec receiver
PC即服务器
iperf3.exe -s
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------
Accepted connection from 192.168.0.14, port 60856
[ 5] local 192.168.0.17 port 5201 connected to 192.168.0.14 port 60857
[ ID] Interval Transfer Bandwidth
[ 5] 0.00-1.00 sec 981 KBytes 8.04 Mbits/sec
[ 5] 1.00-2.00 sec 1.67 MBytes 14.0 Mbits/sec
[ 5] 2.00-3.00 sec 1.66 MBytes 13.9 Mbits/sec
[ 5] 3.00-4.00 sec 1.53 MBytes 12.8 Mbits/sec
[ 5] 4.00-5.00 sec 1.31 MBytes 11.0 Mbits/sec
[ 5] 5.00-6.00 sec 1.33 MBytes 11.2 Mbits/sec
[ 5] 6.00-7.00 sec 1.53 MBytes 12.8 Mbits/sec
[ 5] 7.00-8.00 sec 1.26 MBytes 10.5 Mbits/sec
[ 5] 8.00-9.00 sec 763 KBytes 6.24 Mbits/sec
[ 5] 9.00-10.00 sec 275 KBytes 2.26 Mbits/sec
[ 5] 10.00-10.11 sec 9.98 KBytes 719 Kbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth
[ 5] 0.00-10.11 sec 0.00 Bytes 0.00 bits/sec sender
[ 5] 0.00-10.11 sec 12.3 MBytes 10.2 Mbits/sec receiver
如果我错了,请纠正我,但与7-8Mbytes/sec
我将文件从 MBP 传输到 PC 时相比,这些结果看起来慢了 10 倍……
更新 #3
因此,我查看了路由器的配置,发现它支持两个 Wi-Fi 网络(2.4GHz b/g/n
和5GHz a/n
)。我告诉 Macbook 连接到 5Ghz 网络(当我获得之前的所有结果时,我连接到 2.4Ghz 网络...)并将其尽可能靠近路由器。以下是 iperf 告诉我的内容:
Macbook 是服务器(我期待优化的情况)
iperf3.exe -c 192.168.0.14
Connecting to host 192.168.0.14, port 5201
[ 4] local 192.168.0.17 port 2912 connected to 192.168.0.14 port 5201
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-1.00 sec 23.8 MBytes 199 Mbits/sec
[ 4] 1.00-2.00 sec 23.9 MBytes 200 Mbits/sec
[ 4] 2.00-3.00 sec 24.1 MBytes 203 Mbits/sec
[ 4] 3.00-4.00 sec 23.6 MBytes 198 Mbits/sec
[ 4] 4.00-5.00 sec 24.0 MBytes 201 Mbits/sec
[ 4] 5.00-6.00 sec 24.0 MBytes 202 Mbits/sec
[ 4] 6.00-7.00 sec 24.0 MBytes 201 Mbits/sec
[ 4] 7.00-8.00 sec 24.4 MBytes 204 Mbits/sec
[ 4] 8.00-9.00 sec 23.9 MBytes 200 Mbits/sec
[ 4] 9.00-10.00 sec 24.0 MBytes 201 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-10.00 sec 240 MBytes 201 Mbits/sec sender
[ 4] 0.00-10.00 sec 240 MBytes 201 Mbits/sec receiver
Window 的文件资源管理器的峰值为20+MB/sec
!是什么让我们想到10 倍速度提升与我最初的设置相比!
更新 TODO #4
出于好奇,我想获得 Thunderbolt 到以太网适配器,看看我能从这些拼图碎片中获得什么。
答案1
如果您的 Mac 和 PC 的 Wi-Fi NIC 都支持以下功能,那么您对预期带宽的计算就稍微慷慨了一些,但大致正确:
- 至少 2 个空间流 (2SS、2x2:2)
- 40MHz 宽通道 (HT40)
- 短保护间隔(Short GI,SGI)
- 802.11n 最快的 2SS 调制和编码方案 (MCS 15)
- 都已加入 AP 上的 5GHz 无线电
- 都足够靠近 AP,以获得足够的信号强度来维持 MCS 15。
- 无重大干扰
- 该频道上没有其他内容争夺播出时间
- 如果您使用非常高效的文件传输协议来传输文件。
长话短说就是:“如果它们都能真正始终获得 AP 的最大 300Mbps 数据速率,那么其他一切都是最好的。”
更保守的估计(仍然基于理想或接近理想的条件)是 90 兆比特/秒 = ~11 兆字节/秒。这仍然比您看到的要多得多。如您所见,您可以考虑一系列因素来找出为什么您无法获得该速度。
如果您的 Mac 和 PC 都支持以太网,那么即使只有 100Mbps 以太网也会比您看到的速度快,而千兆以太网的速度会快得多。您应该能够通过 100BASE-T 获得 94 兆比特/秒(11 兆字节/秒),通过千兆以太网获得 940 兆比特/秒(112 兆字节/秒)。
使用客户端 WNIC 详细信息进行更新后进行更新:
所以:
- 您的 PC 是 1SS(1x1:1)802.11ac,支持 MCS 9x1(433 兆比特/秒)
- 您的 MacBook Pro 是 2SS(2x2:2)802.11ac,支持 MCS 9x2(867 兆比特/秒)。
- 您的路由器仅为 802.11n HT40(300 兆比特/秒)。
不幸的是,您拥有的不同 Wi-Fi 类型不能很好地重叠。在相互通信时,Wi-Fi 客户端和 AP 只能使用它们各自的加速器两个都支持。因此,您的 AP 和 Mac 之间的最大数据速率为 300 兆比特/秒,而您的 AP 和 PC 之间的最大数据速率仅为 150 兆比特/秒。
所有客户端到客户端的 Wi-Fi 传输首先从源客户端到 AP,然后从 AP 到目标客户端,这意味着空中时间在两个客户端之间分配。
根据所有这些信息重新进行计算,我预计在理想或接近理想的条件下,两个设备在该 AP 上的 5GHz Wi-Fi 上只能获得 60 兆比特/秒(7 兆字节/秒)。
当您的 PC 使用以太网、Mac 使用 5GHz Wi-Fi 时,我预计您能够在理想或接近理想的条件下获得大约 180 兆比特/秒(21 兆字节/秒)的速度。
我同意你为 MacBook 选购 Apple Thunderbolt GigE 适配器的想法。Apple 的适配器使用优质的 Broadcom GigE 芯片。你可以购买更便宜的第三方 USB 3 GigE 适配器,该适配器可能能够获得完整的 GigE 速度,但一分钱一分货;大多数 USB 3 GigE 适配器使用质量较低的 GigE 芯片来节省成本。
您可能还想在两台机器之间运行快速 iperf 测试,以查看已知非常高效的工具在您的设备之间能达到多快的速度。文件传输没有理由比 iperf 慢,因此如果 iperf 比您的文件传输快,您就知道您的文件传输软件/协议引入了大量开销并降低了速度。