差了十倍的网速计算问题

我有一个阿里云服务器,带宽是1Mbps。里边部署了一个服务,对外提供一个接口,接口返回的数据(加上HTTP头)是442B,但是确花费了三四十毫秒。我的计算如下:

``
1Mbps = 1000Kbps = 125KBps = 125*1000B/s = 125B/ms
``

说明1ms可传输125字节的数据,那么4毫秒就可传输500字节的数据。为什么我的442字节的数据要传输三四十毫秒呢?这可差了十倍啊。

另:

  1. 服务器是一个空闲服务器,CPU,内存都不是瓶颈。
  2. 家里的网络大于1Mbps,也不是瓶颈。
  3. 我是多次请求的,都是差不多这个结果,不是偶然的一次。

那是什么原因呢?

图片如下:

  • 本地网速:

本地网速

  • 请求响应:

请求响应


更新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:

感谢@然后去远足的回答,我的阿里云节点在北京,而访问的所在地也在北京。

阅读 2.6k
2 个回答

可以试下点击其中一个请求,查看详细的时间。其中 “Content Download" 是你关注的数据在网络中的传输时间,加上 DNS 域名解析时间、连接建立的时间、服务器程序处理请求的时间和其他时间。
截屏2020-04-09 下午12.43.38.png


测试网速可以试下用体积大一点的文件,不知道结果会怎样?

按 @pengng 说的看具体耗时。

补充一点,就只说数据传输时的速度。

咱就算理论极限,网速跑满、电信号以光速传递、你跟服务器是一根网线直连着。

北京的电脑连到广州的机房在数据传输过程中就要消耗至少 6 毫秒。

更何况现实生活中你不可能跟服务器一根直线连着,中间会经过层层设备的转发、甚至有电信和联通这种跨网络的交互,光数据传输这一项的耗时就已经很高了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题