我有兴趣构建一个类似于使用的命令行速度测试工具这里。当我们办公室的下载速度开始不稳定时,我开始在 cron 作业中使用它来自动检查和记录不同时间的速度。这个问题总是通过重新启动 ISP 调制解调器来解决,经过多次尝试后,技术人员终于解决了由外部线路干扰引起的根本问题。
这当前工具产生非常不一致的结果(上传/下载速度读数差异很大),即使该服务器上没有其他程序和脚本正在使用(下班后)。作者指出了以下关于不一致性的内容:
如果我想构建一个可靠的速度测试工具,我应该研究哪些网络工具/协议?许多 ISP 都有自己的速度测试工具,以便在自己的测试中获得更好的结果。是否有可能弥补无法控制 ISP 调制解调器和下载服务器位置所带来的问题?
答案1
您的工具的作者基本上告诉您如何构建一个(更)可靠的工具:
- 使用纯套接字代替基于 HTTP 的测试(即 ICMP)
- 不要使用 Python,而要使用 C 作为工具的编程语言,这也允许您从第一点创建那些纯套接字。
- 再次使用Python作为实现语言引起的问题。
我认为,如果您无法控制 ISP 调制解调器,就不可能弥补由它引起的问题,因为您无法确定速度缓慢是由所述调制解调器还是整个互联网引起的。