我想在两台 mac 电脑之间传输文件。该网络是无线 N,两台计算机中都有无线 N 模块。
问题是,当我通过文件共享 (afp) 在它们之间传输文件时,网络速度上限为 2 兆字节/秒。仅从互联网下载文件我可以获得更快的速度,所以这不是我的 wifi 带宽的限制,它似乎是所使用协议的限制。
我的 wifi-n 设置为 130 兆比特,所以我应该看到真实世界的传输速度约为 12-16 兆字节/秒
我在两台计算机上都执行了这个命令,这sudo sysctl -w net.inet.tcp.delayed_ack=0
应该会降低 tcp 开销,但这并没有影响它。
我怎样才能达到我期望的速度?
获得更好的接入点。您正在承担巨大的带宽损失,因为从源机器到访问点的链接正在与从目标机器到访问点的链接共享带宽。更好的接入点可以同时处理多个流。这不仅立即使可用带宽翻倍,而且还减少了流传输方向的变化次数。
现在,发送数据包的结果大致如下:
源机器获得对信道的访问权,发送前导码,然后将数据发送到访问点。
AP 发送前导码,然后将数据发送到其目的地。
目的地获得对信道的访问权,发送前导码,然后向接入点发送确认。
AP 发送前导码,然后向源机器发送确认。
所有这四种操作都在争夺相同的带宽。像禁用 802.11b 支持这样的调整会有所帮助。
如果您的 130Mbps 链接由于链接距离而降级到 65Mbps 左右,或者您的频道与其他任何东西(其他 Wifi 系统、蓝牙)共享,那么不幸的是,您的速度数字对于底线 802.11n 来说是正确的没有禁用兼容性选项的接入点。
虽然产品推荐在这里是题外话,但您可以以 60 美元或更低的价格获得翻新的WRT610N 和E3000 。我已经在家庭和商业部署中使用了数十个,所有这些都经过翻新,而且它们都像冠军一样工作。这也将为您提供 5GHz 支持,假设您的任何端点都支持它,它通常是完全开放的并且性能更好(尽管距离更短)。(我更喜欢 E3000,因为它只存在一个硬件版本,所以我很清楚我会得到什么。)
运行内置的机场实用程序:
/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport
联机帮助页并不存在,但使用 -h 可以找到选项。寻找传输/信标下降?也可能值得检查接入点所说的正在发生的事情。
如果将一台主机放在有线以太网上并尝试进行相同的传输,会发生什么情况?