我的家庭网络设置如下:
- ZyXEL P-2602HW-D1A 路由器
- Ubuntu 10.04 服务器:
- 以太网卡100Mbps,直接连接到路由器
- 配置 SFTP 服务器
- Windows XP 专业版 SP3:
- WIFI卡54Mbps
- 使用 SmartFTP 通过 SFTP 传输文件
当我将鼠标悬停在桌面系统托盘中的连接图标上时,它会告诉我 WIFI 连接良好,通常速度为 48Mbps。
因此,由于我在本地网络上的桌面和服务器之间传输文件,我预计速度大约在 左右(54Mbps / 1 Byte) - overhead ≈ 5MB/s
。但我只得到这样的速度500kB/s
(大约是我预期的十分之一)。
我是否忽略了某些明显的因素,从而导致了这样的速度?
我的路由器是否会意外地首先通过 WAN 路由流量(这似乎不太可能,因为我认为我无法通过 WAN 达到这些上行速度。)?还有其他(明显的)建议吗?
答案1
Wi-Fi 开销通常为 50%。您的计算基于您所说的未获得的数据速率。您没有在兆和梅比。您使用的工具可能仅报告客户端传输的数据速率,这不一定是 AP 向客户端传输时获得的数据速率。因此,如果您当时正在将数据从 SFTP 服务器复制到客户端(您未指定),那么您可能没有查看正确的数据速率。
(48 兆比特每秒 / ~8.4 兆字节每兆比特)- 50% 典型 Wi-Fi 开销 = 2.5 兆字节/秒。这样我们就更接近了,但如果你真的只得到 500 千字节/秒,我们仍然相差 5 倍。
此时,我可能会在服务器和客户端计算机之间运行 IPerf,并将其用作基准来比较您的 SFTP 设置。我的怀疑是:
- 您的服务器或客户端 SFTP 实现效率低下。
- 也许存在 TCP 调整问题,也许一端或另一端选择的 TCP 窗口大小不足。我见过 Windows XP 默认选择的值非常低。我相信 64 KibiBytes 对于大多数 802.11g 网络来说应该是一个不错的数字。您可以使用 IPerf 轻松试验不同的 TCP 窗口大小,以找出哪种大小可为您的网络带来最佳性能。
- 也许您没有查看正确的数据速率(即需要查看 AP 到客户端的 Tx 速率),或者您在悬停时对看到的数据速率进行采样时一厢情愿,并意外地偏向 48。
答案2
我的建议是不要遵循 Windows 有关速度吞吐量的指示,因为 XP 告诉您速度时不会考虑一些逻辑变量。
例如,信道中的噪声;可能是某些东西也在与您相同的信道和频率上运行,即使信号强度非常好,仍然可能会发生冲突,从而迫使重复传输数据报(降低整体速度),Zyxel CPU 在这方面也起着重要作用,它需要在 54MBps 接口和 100Mbps 之间切换您的数据包,如果 CPU 正忙于执行其他操作,例如端口 natting(想象一下您的服务器同时访问互联网),那么在接口之间切换数据包时,可能会丢失一些数据包或者只是延迟等待 CPU。
可能是你的 wifi 驱动程序不如承诺的规格那么好……等等
长话短说,我们有几个变量影响最后的结果,你的问题表述得很好,你的方法是正确的,唯一的问题是我们仍然有几个我们无法控制的变量。
对于基于 snmp 的记录性能,仙人掌在 Ubuntu 服务器上安装非常容易,通过在 Zyxel 上激活 snmp,你可以看到盒子里发生了什么
答案3
路由器和 Linux 机器之间的以太网链路是否以全速和全双工模式运行?连接可能设置错误(自动协商出现异常?),或者随着时间的推移性能下降 - 我已经在商用路由器上看到这两种情况。
答案4
对先前答案的补充
实际上你有三个两点故障
UTP 电缆(最后的手段)- WiFi 链接
- ZyXEL 本身
为了找到最重要的点,你必须分别从测试中排除点
- 直接链接 XP-Ubuntu(有线)
- XP-ZyXEL-Ubuntu (全部有线)
- 当前状态
这样你就能确切地知道是谁给你的最多速度下降