我需要记录互联网连接的质量(太差了)。下载速度经常在 12kbps 和 3mbps 之间跳跃,数据包丢失率通常约为 20%,但几乎每天都会发生长达一小时的断网。
我知道如何进行简单的速度测试,但我想连续 24 小时进行一次,最好每隔几秒钟记录一次日志,详细说明当前的上传速度、下载速度和 ping 时间(或“网络不可用”,视情况而定)。它需要能够在长时间断网后立即恢复测试(例如,不要因为网络连接明显中断而停止尝试或减速:继续努力)。
我希望数据尽可能保持原始形式,这样我就可以随意操作并可视化。我将通过无线网络(其他人都通过无线方式访问网络)从运行 Ubuntu 12.04 的笔记本电脑进行测试。显然,我能够为外部服务器提供快速可靠的连接来 ping/上传/下载,并且可以在该端安装所需的任何东西。
有哪些解决方案可以为我提供这样的数据?基于 CLI 的应用程序或精美的 GUI 都可以;我对两者都很满意。
答案1
看一眼测量实验室网站。这是 Google、一群大学和其他研究人员和组织共同努力的结果,旨在为用户/消费者提供工具来查看他们的连接情况。他们有一系列工具来衡量您的连接的各个方面。他们的大多数工具都是开源的,因此您应该能够运行自己的实例。
或者,我能想到的最简单的解决方案是让 tcpdump 记录到文件中(可能在两个位置),并并行运行 wget 循环,将输出输出到 dev/null。然后,使用该 tcpdump,您可以使用任意数量的可视化/分析工具来检查测试期间发生的情况。
答案2
导致网络性能突然出现问题的根本原因有很多。要排除 LAN 问题,请先对 LAN 进行测试。运行流式高清视频是一个很好的测试。对于 WAN,除了 www.speedtest.net 之外,YouTube 视频也是一个很好的测试
如果您使用无线,请先排除这些以节省时间。
1) 同一 WLAN 信道上没有活动的无绳电话或基站
2) WIFI 上没有反射死角,并且您的笔记本电脑目前距离路由器 50 英尺以内。**
/// 当没有障碍物时,300 英尺甚至更多是可能的。{这被称为莱斯衰落,其中无线电信号因相位差 180 度和幅度相似而相互抵消。1 毫米的移动或角度偏移通常会移出死点。}