用一个有线连接,我得到一个38兆比特/秒下载速度。当我切换到无线的一台(带有 Tomato 固件的 Linksys WRT54GL 路由器),速度下降到23 兆比特/秒即使路由器和电脑之间的距离只有2、3米。
这是 802.11g 连接所能达到的最大有效比特率吗?
我可以调整哪些设置来提高下载速度?
答案1
在信号强、无噪音、客户端和 AP 均进行帧突发以及经过良好优化的应用程序(实际上是一种称为 IPerf 的吞吐量测试工具)的情况下,我看到 802.11g TCP 吞吐量仅为 30 兆比特/秒。
在现实世界条件下,只要速度超过 15 兆比特/秒我就很高兴了。
802.11 的经验法则是,您可以获得信号传输速率的 50-60% 的 TCP 吞吐量,并且只有在最佳条件下才能获得最佳信号传输速率。
更新:刚刚意识到我没有回答你的一些下属问题。
23 兆比特/秒是您能达到的最佳速度吗(假设没有帧突发)?是的,我记得,在没有帧突发的情况下,20 到 25 兆比特/秒之间的某个值大约是 802.11g 所能达到的最佳吞吐量。
有没有什么可以调整的地方可以提高性能?是的,这里有一些可以调整的地方可以提高性能。但是,我要提前警告你,其中一些可能比它们的价值更麻烦:
确保你处于最干净的频道。唯一可靠的方法是使用频谱分析仪,例如无线网络监控有些人认为他们可以使用只能看到 Wi-Fi 网络的设备,例如进网,但他们错了。2.4GHz 频段可能存在大量非 Wi-Fi 设备产生的噪音,因此 inSSIDer 永远无法发现这些噪音,但真正的 Wi-Spy(或更高级的频谱分析仪)可以发现。
1b. 如果您的设备不只是 b/g,而是 a/b/g,请查看可用的 5GHz 信道中是否有比 2.4GHz 信道更干净的信道,如果是,请考虑切换到 5GHz 的 802.11a。
如果您的设备支持帧突发但您尚未将其打开,则可以将其打开。不同的供应商可能对帧突发有不同的描述方式,例如“加速模式”之类的。如果我没记错的话,Broadcom 将帧突发以及一些其他经过调整的专有性能优化称为“ Afterburner”。请注意,其中一些功能可能会导致互操作性问题,并且往往在同一供应商、同一时代的芯片组之间效果最佳。
如果您可以控制下载所使用的工具/协议(包括服务器端),那么您可以选择更有效地利用 TCP 的工具/协议。例如,优质的 FTP 或 HTTP 服务器更有可能通过使用滚动缓冲区不断传输文件来“保持管道充满”,以确保发送端 TCP 堆栈永远不会缺少要发送的数据。相比之下,SMB 和 AFP 等远程文件系统协议倾向于以块为单位进行单独的读取和写入,因此在块之间,TCP 没有任何内容可发送。这在大量下载过程中可能会产生很大的不同。
3b. 同样,如果您拥有文件传输的两端,则可以查看 TCP 调优。例如,确保您的客户端和服务器(尤其是文件传输的接收端)使用足够的 TCP 窗口大小。TCP 调优超出了本回答的范围,但如果您在 Google 上搜索并了解带宽延迟乘积、最佳窗口大小和延迟 Ack 以及禁用 Nagle 算法和使用 sysctl(Unix/Linux/Mac OS X)以及我猜注册表编辑(Windows)来调整这些内容,您可能会找到从链接中挤出一点额外性能的方法。
3c. 同样,如果您拥有文件传输的两个端点,您可以选择基于 UDP 的高性能快速文件传输应用程序。这些应用程序通常是专有的,要求您在连接的两端都使用相同的应用程序。而 TCP 非常擅长尽可能快地传输不会加剧网络拥堵,其中一些基于 UDP 的应用程序采取自私的方式来优化您的文件传输速度,而不关心它们对网络拥塞的影响。
总体而言,如果您拥有 40+ 兆比特/秒的互联网连接,那么 2003 年推出的 802.11g(速度并不比 2002 年推出的 802.11a 快)就不是您的正确选择。是时候购买一些 802.11n 设备,像 2007 年一样狂欢了。或者购买一些 3 空间流 802.11n 设备,像 2010 年一样狂欢了。
答案2
使用 iPerf 2.0.5 对 802.11a 进行的测试显示,我的最佳速率在 20-22Mbits/sec 范围内。请注意,在我的情况下,中间还有一个 VPN 连接。
iPerf 服务器:
iperf -s -w 128K
iPerf 客户端:
iperf -c <serverIP> --tradeoff --len 8K -w 128K -P 1 -t 30 -i 5 -m