赞
踩
超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)是一种用于分布式、协作式和超媒体信息系统的应用层协议。HTTP是万维网的数据通信的基础。
HTTP的发展是由蒂姆·伯纳斯-李于1989年在欧洲核子研究组织(CERN)所发起。HTTP的标准制定由万维网协会(World Wide Web Consortium,W3C)和互联网工程任务组(Internet Engineering Task Force,IETF)进行协调,最终发布了一系列的RFC,其中最著名的是1999年6月公布的 RFC 2616,定义了HTTP协议中现今广泛使用的一个版本——HTTP 1.1。
2014年12月,互联网工程任务组(IETF)的Hypertext Transfer Protocol Bis(httpbis)工作小组将HTTP/2标准提议递交至IESG进行讨论,于2015年2月17日被批准。 HTTP/2标准于2015年5月以RFC 7540正式发表,取代HTTP 1.1成为HTTP的实现标准。
HTTP协议定义Web客户端如何从Web服务器请求Web页面,以及服务器如何把Web页面传送给客户端。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求报文,请求报文包含请求的方法、URL、协议版本、请求头部和请求数据。服务器以一个状态行作为响应,响应的内容包括协议的版本、成功或者错误代码、服务器信息、响应头部和响应数据。
以下是 HTTP 请求/响应的步骤:
(1) 客户端连接到Web服务器
一个HTTP客户端,通常是浏览器,与Web服务器的HTTP端口(默认为80)建立一个TCP套接字连接。
(2) 发送HTTP请求
通过TCP套接字,客户端向Web服务器发送一个文本的请求报文,一个请求报文由请求行、请求头部、空行和请求数据4部分组成。
(3) 服务器接受请求并返回HTTP响应
Web服务器解析请求,定位请求资源。服务器将资源复本写到TCP套接字,由客户端读取。一个响应由状态行、响应头部、空行和响应数据4部分组成。
(4)释放连接TCP连接
若connection 模式为close,则服务器主动关闭TCP连接,客户端被动关闭连接,释放TCP连接;若connection 模式为keepalive,则该连接会保持一段时间,在该时间内可以继续接收请求。
在浏览器与服务器间传送文档,HTTP协议允许用户在统一的界面下,采用不同的协议访问不同的服务,如FTP、Archie、SMTP、NNTP等。另外,HTTP协议还可用于名字服务器和分布式对象管理。
测试仪同时模拟客户端和服务器,测试流量穿过受测设备(防火墙、交换机、路由器等),得到受测设备的性能。
测试仪同时模拟客户端和服务器,测试流量穿过受测设备(代理设备、负载均衡设备),得到受测设备的性能。
测试仪只模拟客户端,向受测的HTTP服务器发送流量,获取响应,得到HTTP服务器的性能。
测试仪只模拟服务器,接收客户端的请求,并回复正确的回应,得到客户端的性能。
(1)HTTP新建:获取受测设备新建HTTP会话的最快速率,每个虚拟用户建立一条TCP连接,执行一次完整的HTTP的事务(发送请求和接收回应),最后关闭连接。再新建TCP连接并包含一次完整的HTTP会话。
(2)HTTP并发:获取受测设备支持的最大HTTP并发连接数,每个虚拟用户建立大量的TCP连接,每条连接循环完成HTTP事务(发送请求和接收回应),最后关闭TCP连接。
(3)HTTP吞吐:获取受测设备的最大HTTP吞吐量,每个虚拟用户建立一条TCP连接,循环完成HTTP事务(发送请求和接收回应),最后关闭连接。
用例的运行需要分配cpu核数,HTTP的最高性能需要分配一定的核数。
HTTP用例支持多种流量模型,包括固定速率:设置一个限速数值,运行过程中速率将一直保持该数值,上下浮动不超过1%;
随机速率:限速方式为随机速率时,设置最小、最大限速数值,速率将按每秒从最小速率和最大速率之间随机速率值运行直到运行结束;
梯形速率:限速方式为梯形速率时,设置一个限速数值,运行开始阶段速率将按时间或者百分比递增到该数值,中间过程将一直保持设置的限速数值,运行结束前速率按时间或者百分比递减至0,中间过程上下浮动不超过1%;
雪崩速率:限速方式为雪崩速率时,设置最大、最小速率和保持时长,测试过程中速率将以最大速率保持一段时长,再以最小速率保持一段时长,交替进行;
正弦速率:限速方式为正弦速率时,设置最大、最小速率和渐变时长,测试过程中速率会在每一个渐变时长内完成一次正弦变化;
楼梯速率:限速方式为楼梯速率时,设置初始、最大、递增速率和保持时长,测试过程中速率将以初始速率保持一段时长,按递增速率每次递增并保持一段时长,最后按最大速率一直运行结束,形状类似楼梯。
流限速:支持一条TCP/UDP流进行限速,具体计算公式为虚拟用户数×核数=
支持链路层和应用层的限速,限速单位支持最低为bps,最高为Gbps,默认为Mbps。
可以设置需要抓的协议类型,指定IP地址、端口、文件大小或者包数。可在运行前或运行中设置抓包。
在web测试项目中填入请求的url路径,请求头,响应头,get/post设置,断言,是一个完整的请求方式。
可在Web测试项目中的url路径,请求头,post的body内加入变量,满足对小部分内容需要变化的需求。
可以由客户端决定主动关闭是Reset关闭,还是3Way_FIN关闭。
说明:Supernova测试仪使用“应用服务模式”模拟HTTP的客户端,直连一台HTTP服务器,测试服务器性能。
说明:测试仪使用“网关模式”模拟HTTP的客户端和服务端,过一台防火墙(网关模式),测试防火墙性能。
(1)Supernova测试仪过防火墙,Supernova测试仪同时模拟客户端和服务端,通过防火墙的性能指标。
(2)Supernova测试仪直连服务器,Supernova测试仪模拟客户端,满足服务器各项指标要求。
(1)在应用服务模式中,创建HTTP用例,由于是直接接入的服务器,不需要配置网关,选择在同一子网。
(2)分配CPU核数
(3)抓包设置,可以抓包查看与服务器进行抓包对比,查看发送是否有误。
(4)参数设置
(5)在客户端中创建Web测试项目,功能模块。
(6)服务端端口设置
(7)点击启动,运行用例,在“监控”页面查看运行中的信息。
(8)运行自动结束或手动终止后,在报告中查看结果
(9)生成PDF文档,下载到本地查看
(10)创建HTTP并发、请求、吞吐的用例同步骤5.1的(1)~(9)
(1)在网关模式中,创建HTTP新建用例,由于是连接防火墙,配置网关,选择网关模式。
(2)重复5.1中(2)~(10)的步骤
为了便于理解整个配置和测试过程,网络拓扑如下所示:
打开Firefox之后,按F12启用调试界面,进入网络选项卡,启用持续日志,禁用缓存,所有页面访问都完成后,右键单击流量列表,保存流量为HAR文件。
我们以录制一个mantis事务为例,介绍具体过程。Mantis是研发人员常用的Bug追踪系统,我们在Mantis上创建了测试人员账号tester/tester,具体的业务流程是:用tester/netitest账号登录Mantis系统,创建一个Bug,然后再删除它,最后退出。
(1) 打开Firefox浏览器输入mantis服务器网址192.168.13.183/mantis/login_page.php,按F12启用调试界面,进入网络选项卡,输入ip地址过滤并启用持续记录,禁用缓存。
(2)用账号密码tester/tester登录mantis,并进行新增bug,删除bug,退出登录操作。
创建并提交一个新的bug,摘要填写“report a bug”,描述填写“report a crash bug”,问题重现步骤填写“1. login 2. start”,点击提交问题。
点击提交问题后,页面就会提示提交成功,会很快跳转到显示页面。几秒后,Mantis自动跳转到显示页面,显示刚刚提交的Bug。
选中刚才提交的Bug,选中“删除”选项,点击确定,开始删除这个Bug。点击删除问题,Bug将被删除,Mantis自动跳转到Bug显示界面。
点击右上角的tester账号的下拉菜单,点击注销,退出系统。一个完整的HTTP事务流程就完成了,包括Mantis登录,提交Bug,删除Bug,退出登录。
(3)所有页面访问都完成后,右键单击流量列表或点击设置按钮,保存所有内容为HAR文件。
输入文件名,选择保存目录,把刚操作的业务流量保存为HAR文件
(1)打开Supernova测试仪的Web界面,输入账号登录,初始账号密码admin/admin。
(2)点击“对象”->“Web测试项目”,创建一个Web测试项目,为新的Web测试项目命名。
(3)选择新建的Web测试项目,在右侧窗口中创建一个Web功能模块来配置HTTP事务列表。
(4)输入Web功能模块名称,点击解析HAR或者解析PCAP,就会弹出一个新的窗口。
(5)在新的窗口中,点击浏览,选中刚刚保存的HAR文件或者PCAP文件,并点击上传按钮,将上传HAR/PCAP文件,系统会自动解析它,生成初始配置。解析PCAP与解析HAR生成事务列表操作方式类似,下文以上传HAR文件解析操作演示说明。
(6)如果上传解析成功,就会提示“解析HAR文件成功”,点击确定,就会显示HTTP事务的初始配置,可以删除不必要的事件,对事务过程进行精简。
满足4.4.1的要求
符合4.4.2的需求
符合4.4.3的要求
符合4.5.1的要求
符合4.5.2的要求
符合4.5.3的要求
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。