你知道Chrome Network ,Size 和 Time 为何有两行参数吗?

Hello,骚年们,当你们欢脱的Debug接口的时候,有没有在乎过Chrome NetworkSizeTime两项是两行呢?以下图箭头所示:算法

借这篇文章咱们来分析一下它的含义,咱们聚焦 /api/v1/myaddress/all这个接口

关于Size列

Size有两行:后端

  • 第一行表示的是数据的传输时的大小,例如上图中的44.3KB
  • 第二行表示的是数据实际的大小441KB

解释:

由于这个接口返回数据量比较大,因此后端采起了gzip压缩,从响应头的Content-Encoding咱们也能看出api

在服务器端采起 gzip压缩算法将将原有 441KB压缩至 44.3KB,传输大小缩短 10倍,大大的提升了接口传输的效率。

须要注意的点:

gzip压缩只会压缩响应体内容, 因此适用于返回数据量大的时候,若是数据量过小的话,有可能会致使数据传输时的大小比实际大小要大(例如加入一些额外的响应头)服务器

通常例如SpringMVC等Web框架能够指定数据大小到多少时使用gzip压缩网络


关于Time列

Time有两行:框架

  • 第一行表示从客户端发送请求到服务端返回全部数据所花费的总时间,对于上图来讲就是598ms
  • 第二行表示的是从客户端发送请求到服务器端返回第一个字节所表示的时间,对于上图来讲就是118ms 咱们把鼠标放到最右边那个蓝条会有时间的详细说明,以下

下图是这些时间含义的解释

解释:

第一行的时间就表明了上图列的全部项目:例如解析dns创建链接等待服务器返回数据传输数据性能

第二行的时间是 总时间 - 数据传输的时间3d

总结

从上面的分析中咱们看到 从客户端请求到服务器处理结束准备返回数据花了118ms算蛮久了),可是在进行传输数据的时候花费了480mscode

每一个用户网络带宽不同,对于网慢的用户来讲,这个体验可能更差,因此在编写代码的时候,返回的数据量要尽可能精简。cdn

我的以为理解Chrome Network的参数有助于咱们对接口的性能有一个比较直观的感受~

相关文章
相关标签/搜索