这是软件工程Q / A的交叉帖子
有几个(很多)网站提供互联网速度测试,我试图建立同样的,但我仍然无法获得准确的结果。
尝试
在服务器上创建了几个文件,比如说(1,8,22,64,128,256,512,1024)KB。 然后在客户端,我下载每个。 测量
然后,互联网速度=所有转移的大小/时间,以秒为单位。
我检查了其他几个不下载大文件/大数据(超过5Kb)的网站,但是并行地向服务器发出了很多请求,
还有一些平滑因子或稳定因子,或者对数据进行采样的东西,并计算出更好的结果。
以下是speedtest.net的实施方式,但我仍然无法正确理解。
有人可以指导我理解并指出计算网速的正确方向吗?
修改:我希望在我的网络/应用上向我的用户展示他们获得的速度。为此,我试图应用一般的creteria,类似于speedtest,但不是从多个服务器中获取,只想尝试使用一台服务器。
答案 0 :(得分:1)
一般的想法是计算能够填充物理通信信道的参数。主要部分是确定哪些并行下载将达到目标。
单个通信显然是不够的,因为存在许多开销,在此期间您可以发送其他数据包。在非常粗略的近似中,您需要从A发送数据包到B以请求一些数据,然后将数据从B发回A,您可以在发回数据时明确请求其他内容。您还可以考虑从X到Y的链路可以发送多少数据包?就像你可以在从B到A的同一条路上有几辆车。每辆车都是来自特定通信的包。
确定连接的速度在很大程度上取决于许多因素,所获得的只是一种近似值。