性能测试里面的时间汇总

时间:2024-03-28 07:38:12

响应时间是性能测试的重要指标,所以理解响应时间非常重要。因此现在就自己接触到的有关软件中出现的时间进行汇总分析:

  • 一 httpwatch 里面的时间
    • 1 意义:我认为httpwatch捉下的浏览器响应时间非常详细的反映了http请求从发送到接收资源所经历的所有时间,有利于对请求发送的响应时间的理解:

    • 2 版本:在使用httpwatch的时候,发现IE11、谷歌78.0.3904.108(正式版本)、火狐24都对httpwatch 9 的版本不兼容,因此下载了火狐28,发现可用。火狐28版本的浏览器如下(此版本会捆绑很多软件,把对勾去掉即可): http://www.pc6.com/softview/SoftView_588283.html

    • 3 时间汇总: 本次对 httpwatch的捉包时间进行汇总。输入http://baidu.com后httpwatch抓取到的信息中,timechart部分截图如下:
      性能测试里面的时间汇总

      • (1)Blocked time :阻塞时间,就是浏览器预处理的时间,主要包括缓存查找的时间和浏览器等待一个可用的网络连接(浏览器限制每个主机名(即www.microsoft.com)的并发网络连接数量,如果达到此限制,将排队请求,因此有时会存在浏览器等待一个可用的网络连接的时间)。
      • (2)DNS LookUp dns 域名解析:会优先使用本地的路由器(默认),如果要自动设置可以在网卡里面有一项叫DNS服务器的设置。DNS解析只会进行一次,因为解析完之后会保存在我们的内存当中,除非我们关闭浏览器重启,数据消失,否则在整个浏览器生命周期中都不会重新解析。
      • (3)connect:连接花费的时间,也包括https三次握手的时间。正在使用安全的HTTPS连接,则包括SSL握手过程,除非显示单独的SSL握手时间。
      • (4)SSL Handshake:SSL握手是在浏览器和web服务器之间设置SSL会话所需的时间。如果connect里面包含了SSL Handshake,那么该项在捉包时就不会出现。
      • (5) send time:把请求发给服务器发完所用的时间。取决于发送到服务器的数据量。例如,使用HTTP POST上传文件会导致长时间的发送。
      • (6)wait time:wait time就是等待时间,指请求发送完到接受响应第一个字节所用的时间,即wait time=服务器对请求处理时间+请求处理完毕后发送响应的第一个字节到客户端的时间,因为网络传输速度很快,因此一般认为wait*0.9=服务器处理时间。wait time 一般用来预估服务器的处理能力,要对比服务器的处理能力,就是对比wait时间的长短,越短处理速度越快。
      • (7)receive time:指从接受响应开始到响应接受完所花的时间,其时间不仅仅取决于响应的大小(即Received的数值大小也就是浏览器接收到的服务器的资源大小),还包括网络的状况(出口的网络带宽和所访问服务器的出口带宽以及服务器是否有拥堵的情况等等)、网络流量的状况。
    • 4 总结:通过对上面的总结可以知道,如果在浏览器URL地址栏中输入一个网址,从点击回车到浏览器接收到资源,一共经过了七步,分别是:查找缓存+ 排队等待连接→DNS解析,找到域名对应的IP地址→建立TCP链接→SSL握手→发送请求数据→服务器处理请求→接收响应资源。注意,浏览器接收到响应数据后,开始解析数据,呈现为我们看到的网页,因此站在客户的角度来评价网页的性能,除了考虑以上时间外,还需要考虑浏览器的呈现时间。浏览器呈现时间是进行前端性能测试的需要考虑的问题。

  • 二 Microsoft Edge 里面的时间
    • 1 意义:因为httpwatch的兼容性,很多浏览器无法使用该软件捉包,因此现在更多的是用浏览器自带的按F12键打开的调试者工具来查看网络时间,我对Microsoft Edge 里面自带的“调试者工具”与httpwatch捉包的时间进行对照,如下,有不对的地方,请指正。

    • 2 操作:

      • (1)用Microsoft Edge浏览器打开百度首页,按F12键打开的调试者工具,清除缓存,刷新,捉包后如下图一。
      • (2)火狐浏览器(28版本)打开百度首页,清除缓存,打开httpwatch,刷新,捉包如下图二:
        性能测试里面的时间汇总
        性能测试里面的时间汇总
    • 3 对比:
      ![在这里插入图片描述](https://img-blog.csdnimg.cn/20191210185406430.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9i

    • 4 总结:
      (1)Microsoft Edge里面的“已停止” 对应于httpwatch里面的“Blocked time”;
      (2)Microsoft Edge里面的“正在解析” 就是httpwatch里面的“DNS LookUp dns”;
      (3)Microsoft Edge里面的“正在连接(TCP)” 就是httpwatch里面的“connect”;
      (4)Microsoft Edge里面的“SSL” 就是httpwatch里面的“SSL Handshake”;
      (5)Microsoft Edge里面的“正在发送” 就是httpwatch里面的“send time”;
      (6)Microsoft Edge里面的“正在等待” 就是httpwatch里面的“wait time”;
      (7)Microsoft Edge里面的“正在下载” 就是httpwatch里面的“receive time”;

  • 三 jmeter 里面的时间
    • 1 意义:jmeter里面的时间非常多,在此进行汇总。
    • 2 汇总:
      性能测试里面的时间汇总