差了十倍的网速计算问题
我有一个阿里云服务器,带宽是1Mbps。里边部署了一个服务,对外提供一个接口,接口返回的数据(加上HTTP头)是442B,但是确花费了三四十毫秒。我的计算如下:
``
1Mbps = 1000Kbps = 125KBps = 125*1000B/s = 125B/ms
``
说明1ms可传输125字节的数据,那么4毫秒就可传输500字节的数据。为什么我的442字节的数据要传输三四十毫秒呢?这可差了十倍啊。
另:
- 服务器是一个空闲服务器,CPU,内存都不是瓶颈。
- 家里的网络大于1Mbps,也不是瓶颈。
- 我是多次请求的,都是差不多这个结果,不是偶然的一次。
那是什么原因呢?
图片如下:
- 本地网速:
- 请求响应:
更新1:
感谢@pengng的回答,我又看了一下Content Download的时间,一共发了10个请求,时间分别如下: 1.24,1.01,0.8,2.42,1.01,0.87,1.3,0.89,1.37,1.11。平均下来约1.2ms。
怎么又小了。。。??
更新2:
感谢@然后去远足的回答,我的阿里云节点在北京,而访问的所在地也在北京。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
可以试下点击其中一个请求,查看详细的时间。其中 “Content Download" 是你关注的数据在网络中的传输时间,加上 DNS 域名解析时间、连接建立的时间、服务器程序处理请求的时间和其他时间。
测试网速可以试下用体积大一点的文件,不知道结果会怎样?
按 @pengng 说的看具体耗时。
补充一点,就只说数据传输时的速度。
咱就算理论极限,网速跑满、电信号以光速传递、你跟服务器是一根网线直连着。
北京的电脑连到广州的机房在数据传输过程中就要消耗至少 6 毫秒。
更何况现实生活中你不可能跟服务器一根直线连着,中间会经过层层设备的转发、甚至有电信和联通这种跨网络的交互,光数据传输这一项的耗时就已经很高了。