• 性能测试day02_预习知识


      在进入第二天的学习之前,我想我们需要提前先了解一下基础的知识,所以这一篇主要讲解的就是预习课程,关于协议和抓包的讲解(原理和工具)。

      可以说基于服务器的性能一般都是基于协议的,所以我们就需要懂协议,以下会以http协议作为基础进行讲解下:

      一、首先是HTTP协议的特点:

      1、简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST、PUT、DELETE等。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。

      2、灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。

      3.无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。

      4.无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。
      5、支持B/S及C/S模式。

      二、HTTP的报文结构(fiddler抓取的)

      下面是请求头的字段解释:

      下面是响应头的字段解释:

    如果遇到其它的字段头不懂的可以自行百度,这里只是提及一些主要的字段供大家了解。

      三、抓包工具的初探

      这里会提及一些工具,当然不会特别深入,主要是让大家学会抓包发包的过程,如果特别感兴趣可以百度进行深入研究,下面的抓包都是以我请求http://www.runoob.com/?s=cai为例。

      1.Wireshark抓包

    请求出去后可以看到源地址和目的地址,第一条就是刚刚请求的过程,第二条则是服务器的返回。

    一般我们抓HTTP不用Wireshark,一般抓取TCP、UDP协议用的比较多。

      2.Chrome抓包

    浏览器抓包是我用的比较多的,因为非常方便,而且也只能抓基于浏览器的HTTP协议,并且还能模拟手机或Ipad设备。

    记得勾选Preserve log,不然再次请求会把之前的请求的信息替换掉,下面的图为基本的请求信息,除此之外第二张图还能看到每个请求的耗时。

      耗时查看:

    图中request sent代表发送请求的时间,Wating时间代表着服务器处理时间,content download代表下载时间(跟下载内容和网络有关)

      3.Fiddler抓包

    fiddler是基于代理模式抓包的,一般开启fiddler之后就会自动设置浏览器的代理,端口默认为8888,同时可以抓取手机的包。

     

      fiddler功能较多,在这里不一一详细描述,有问题可以私撩我或者百度,下图也是抓取请求后查看详细的信息,而且也多种形态查看。

      四、发包初探

      1.fiddler发包

    废话不多说,直接看下图即可fiddler中的Composer可以实现该功能,下图是发包的参数填写,一般我们可以将抓取到的包直接拖拽进来后修改再次发送即可。

     

    发包完后查看新发出去的请求,此过程与之前的抓包查看一样就不多累赘了。

      2.Postman发包

    postman发包跟之前发包差不多,只不过这里还可以做断言,如果有返回json的话还可以对返回的数据进行判断。

     

      3.Python发包

      下面简单的写了个get请求,post请求稍微多一点内容,若要做断言可以用unittest或者pyunit框架即可做到。

  • 相关阅读:
    Lambda+Stream替换集合中每个对象的指定字段值
    bootstrap table的属性sidePagination设置不当导致数据不显示
    fullcalendar从后台获取events报Uncaught TypeError: callback is not a function
    com.sun.mail.smtp.SMTPSendFailedException: 550 Invalid User
    js中复制功能的实现
    List列表排序报空指针异常
    springboot+tomcat不同环境采用不同配置文件
    装饰模式
    Ambari和大数据集群部署(精华)
    Ambari安装和汉化(转)
  • 原文地址:https://www.cnblogs.com/leixiaobai/p/9259994.html
Copyright © 2020-2023  润新知