如何针对单主机计算网络下载与上传速度?
如何实现精准的网页端网络测速功能?
本文为软件工程问答平台的交叉发布内容
我最近在尝试开发网页端的网络测速功能,市面上有很多成熟的测速网站,但我自己做出来的结果总是不够精准,想请教大家怎么优化。
我的现有尝试方案
我在服务器上准备了不同大小的文件:1KB、8KB、32KB、64KB、128KB、256KB、512KB、1024KB。客户端会依次下载这些文件,同时记录三个关键时间点:
- 发起请求的起始时间
- 收到服务器首次响应的时间
- 下载完成的时间
之后用公式计算速度:网络速度 = 总传输大小 / 耗时(秒)
不过我观察到很多同类网站的做法不一样——它们不会下载大文件(甚至不超过5KB),而是发起大量并行请求。另外还会用到平滑因子、稳定因子或者数据采样机制来优化结果。我也了解过Speedtest的实现逻辑,但还是没完全摸透其中的关键。
补充说明
我想要在自己的网页/应用里给用户展示当前的网络速度,所以想参考Speedtest的通用标准,但只针对单台服务器进行测试。
想请教各位,我应该往哪个方向调整,才能实现精准的测速结果?
内容的提问来源于stack exchange,提问作者Ankit Balyan
相关产品推荐
相关产品推荐

