网测科技_HTTP2协议测试案例

一、HTTP2协议概述

HTTP/2即超文本传输协议2.0,是下一代HTTP协议。2.0协议是在1.x基础上的升级而不是重写HTTP方法/状态码/语义都与HTTP/1.x一样。HTTP/2基于SPDY,专注于性能,重点是对终端用户的感知延迟、网络及服务器资源的使用等性能的优化。

HTTP2 新特性
1.二进制传输
HTTP/2传输数据量的大幅减少,主要有两个原因:以二进制方式传输和Header 压缩。
HTTP/2 采用二进制格式传输数据,而非HTTP/1.x 里纯文本形式的报文 ,二进制协议解析起来更高效。 HTTP/2 将请求和响应数据分割为更小的帧,并且它们采用二进制编码。它把TCP协议的部分特性挪到了应用层,把原来的"Header+Body"的消息"打散"为数个小片的二进制"帧"(Frame),用"HEADERS"帧存放头数据、“DATA"帧存放实体数据。HTTP/2数据分帧后"Header+Body"的报文结构就完全消失了,协议看到的只是一个个的"碎片”。
HTTP/2 中,同域名下所有通信都在单个连接上完成,该连接可以承载任意数量的双向数据流。每个数据流都以消息的形式发送,而消息又由一个或多个帧组成。多个帧之间可以乱序发送,根据帧首部的流标识可以重新组装。

2.Header 压缩
HTTP/2并没有使用传统的压缩算法,而是开发了专门的"HPACK”算法,在客户端和服务器两端建立“字典”,用索引号表示重复的字符串,还采用哈夫曼编码来压缩整数和字符串,可以达到50%~90%的高压缩率。

3.多路复用
在HTTP/2中引入了多路复用的技术。多路复用的技术可以只通过一个TCP连接就可以传输所有的请求数据,很好的解决了浏览器限制同一个域名下的请求数量的问题,同时也接更容易实现全速传输。
在HTTP/2中,有了二进制分帧之后,HTTP/2不再依赖TCP连接接去实现多流并行。这一特性,使性能有了极大提升:
•同个域名只需要占用一个 TCP 连接,使用一个连接并行发送多个请求和响应,消除了因多个 TCP 连接而带来的延时和内存消耗。
•并行交错地发送多个请求,请求之间互不影响。
•并行交错地发送多个响应,响应之间互不干扰。

4.服务端推送
HTTP2还在一定程度上改变了传统的“请求-应答”工作模式,服务器不再是完全被动地响应请求,也可以新建“流”主动向客户端发送消息。比如,在浏览器刚请求HTML的时候就提前把可能会用到的JS、CSS文件发给客户端,减少等待的延迟,这被称为"服务器推送"( Server Push,也叫 Cache push)。
服务端可以主动推送,客户端也有权利选择是否接收。如果服务端推送的资源已经被浏览器缓存过,浏览器可以通过发送RST_STREAM帧来拒收。主动推送也遵守同源策略,换句话说,服务器不能随便将第三方资源推送给客户端,而必须是经过双方确认才行。
HTTP/2 通过多路复用、二进制流、Header 压缩等等技术,极大地提高了性能,http2会慢慢取代HTTP/1.x 而被广泛采用。

二、Supernova上HTTP2协议仿真

支持HTTP2新建、吞吐性能测试;
支持IPv4、IPv6及IPv4&IPv6双栈运行;
支持自动填充和指定Host字段地址或域名;
支持Get、Post、Put、Head、Delete请求方式;
支持修改HTTP头部信息;
支持所有请求使用同一个TCP连接,或者使用新的TCP连接;
支持动态修改响应内容;
SSL版本支持SSLv3、TLSv1.0、TLSv1.1、TLSv1.2、TLSv1.3、国密v1.1;
支持多种RSA通用测试套件和国密算法套件;
证书认证方式支持单向、双向和不认证;
支持记录HTTP交互明文内容;
协议标识支持h2;
支持多路复用;
支持TCP重传机制;
客户端关闭方式支持3Way_Fin、Reset;
IP和端口变换算法支持增加和随机;
支持HTTP2新建速率、吞吐速率限速;
支持自定义HTTP请求;

三、在Supernova测试仪中可应用的场景

3.1网关模式

测试仪同时模拟客户端和服务器,测试流量穿过受测设备(防火墙、交换机、路由器等),得到受测设备的性能。

3.2代理模式

测试仪同时模拟客户端和服务器,测试流量穿过受测设备(代理设备、负载均衡设备),得到受测设备的性能。

3.3应用服务模式

测试仪只模拟客户端,向受测的HTTP2服务器发送流量,获取响应,得到HTTP2服务器的性能。

3.4 终端模式

测试仪只模拟服务器,接收客户端的请求,并回复正确的回应,得到客户端的性能。

四、HTTP2用例主要配置参数

4.1.分配cpu核

用例的运行需要分配cpu核数,HTTP2新建、吞吐的最高性能需要分配一定的核数。

4.2限速配置

HTTP2用例支持多种流量模型,包括固定速率:设置一个限速数值,运行过程中速率将一直保持该数值,上下浮动不超过1%;
随机速率:限速方式为随机速率时,设置最小、最大限速数值,速率将按每秒从最小速率和最大速率之间随机速率值运行直到运行结束;
梯形速率:限速方式为梯形速率时,设置一个限速数值,运行开始阶段速率将按时间或者百分比递增到该数值,中间过程将一直保持设置的限速数值,运行结束前速率按时间或者百分比递减至0,中间过程上下浮动不超过1%;
雪崩速率:限速方式为雪崩速率时,设置最大、最小速率和保持时长,测试过程中速率将以最大速率保持一段时长,再以最小速率保持一段时长,交替进行;
正弦速率:限速方式为正弦速率时,设置最大、最小速率和渐变时长,测试过程中速率会在每一个渐变时长内完成一次正弦变化;
楼梯速率:限速方式为楼梯速率时,设置初始、最大、递增速率和保持时长,测试过程中速率将以初始速率保持一段时长,按递增速率每次递增并保持一段时长,最后按最大速率一直运行结束,形状类似楼梯。
支持链路层和应用层的限速,限速单位支持最低为bps,最高为Gbps,默认为Mbps。

4.3抓包设置

可以设置需要抓的协议类型,指定IP地址、端口、文件大小或者包数。可在运行前或运行中设置抓包。

4.4虚拟用户数量

同时并发的用户数量,如设置了256个用户,同时有256个用户发起TCP连接请求,建立256条TCP连接并进行SSL握手,发送HTTP2请求。

4.5 HTTP流量记录

启用后可以记录HTTP明文交互日志,测试运行时,可以在监控界面查看或者下载HTTP交互日志。默认记录全部,可选择仅记录异常请求、仅记录断言失败。

4.6 SSL版本及加密套件

HTTP2 SSL版本支持TLSv1.2、TLSv1.3、国密v1.1,可根据需要选择相应的SSL版本和加密套件。

4.7 证书认证方式

支持SSL握手阶段证书不认证、单向认证及双向认证。

4.8 证书配置

Supernova支持上传自定义CA证书、客户端证书和服务端证书。

4.9 Web功能模块及变量

通过Web功能模块自定义设置HTTP2请求的参数,包括请求URL路径、请求头、HTTP请求类型、动作提交数据以及响应头、响应的内容等。
请求URL路径、请求头、动作提交数据等支持使用变量,在发送请求时进行替换,变量可以在变量列表中进行配置,使用变量列表中变量的格式为:${变量名}。

五、HTTP2新建/吞吐用例区别

5.1 HTTP2新建

Supernova测试仪可以通过持续地模拟大量用户去连接访问服务器,获取受测设备基于TLS/SSL的HTTP2新建会话的最快速率。
具体测试过程为:每个虚拟用户建立一条TCP连接,进行SSL握手,完成HTTP2事务(发送请求和接收回应),最后关闭连接。再新建TCP连接并包含一次完整的HTTP2会话。

5.2 HTTP2吞吐

Supernova测试仪能够进行HTTP2吞吐测试可以获取受测设备基于TLS/SSL的HTTP2的最大吞吐量。
测试的方法和HTTP2新建基本一致,主要的区别在于HTTP2新建测试完成一个HTTP2请求回应事务后会立刻拆除建立的连接,而HTTP2吞吐测试不会拆除连接,会循环发送HTTP2事务,测试结束再关闭连接。
具体测试过程为:每个虚拟用户建立一条TCP连接,循环完成HTTP2事务(发送请求和接收回应),最后关闭连接。

六、HTTP2测试案例-测试防火墙HTTP2新建性能

6.1测试拓扑

在这里插入图片描述

说明:测试仪使用“网关模式”分别模拟HTTP2的客户端和服务端,过一台防火墙(网关模式),测试防火墙性能。

6.2测试目的

本案例测试防火墙HTTP2新建会话能力。

6.3测试步骤

1.按图连接好拓扑
2.防火墙配置:配置接口IP及策略;
3.测试仪上创建HTTP2新建用例,配置SSL版本、算法套件以及证书,配置Web功能模块,调整CPU核数、虚拟用户数量等参数;
4.测试仪配置完成之后,启动用例,查看测试仪统计,有预期结果1;

6.4预期结果

预期结果1:HTTP2新建成功,请求4个文件可以达到1000/秒的新建速率;

6.5防火墙配置

根据测试拓扑配置防火墙接口信息和策略。
端口 配置项
Port2 IP地址7.1.1.1/24
Port3 IP地址8.1.1.1/24
策略 Port2与Port3互通
在这里插入图片描述

注意:配置方法因产品而异,此处不提供第三方产品的详细步骤。有关防火墙的配置的任何问题,请从防火墙的用户指南获取帮助。

6.6测试仪配置

6.6.1创建HTTP2新建用例,配置参数
(1)在网关模式中,创建HTTP2用例,由于过的是防火墙,需要配置网关,选择网关模式
在这里插入图片描述在这里插入图片描述

(2)分配CPU核数

在这里插入图片描述

(3)抓包设置
在port1上设置抓包,捕获TCP报文1000个
在这里插入图片描述

(4)配置虚拟用户数量,启用HTTP流量记录
HTTP2报文是加密的,启用HTTP流量记录可以查看明文信息

在这里插入图片描述

(5)配置SSL版本、算法套件以及证书

在这里插入图片描述在这里插入图片描述

证书认证方式为不认证,此处只选择服务器证书即可。
证书认证方式:
不认证:SSL握手阶段,服务器发送证书,但客户端不对证书内容进行认证
单向认证:SSL握手阶段,服务器发送证书,客户端使用CA证书对证书内容进行认证
双向认证:SSL握手阶段,服务器发送证书,客户端使用CA证书对证书内容进行认证;且服务器要求客户端提供证书,并使用CA证书对证书内容进行认证
6.6.2配置Web功能模块
(1)点击加号,创建一个新的对象
在这里插入图片描述

在这里插入图片描述

(2)配置HTTP请求文件的请求信息
HTTP协议版本选择2.0,填写URL路径和HTTP请求头
在这里插入图片描述在这里插入图片描述

请求类型此案例中选择Get即可
在这里插入图片描述

(3)本案例中,测试仪需要模拟服务端,所以此处需要配置HTTP响应内容
在这里插入图片描述

配置完成后,点击确定,包含一个请求的功能模块配置完成。
在这里插入图片描述
(4)按照上述配置过程,再配置三个请求文件
在这里插入图片描述

(5)点击返回,Web功能模块选择新配置的功能模块

在这里插入图片描述

(6)配置完成后,点击启动用例
在这里插入图片描述

(7)在监控中查看运行界面,状态应用层中HTTP新建速率为关键结果

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

6.7验证预期结果
HTTP2新建成功,请求4个文件可以达到1000/秒的新建速率;
在这里插入图片描述

结论:符合预期结果

6.8查看报文和HTTP交互日志
在监控页面或报告页面下载抓包文件和交互日志

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

七、HTTP2测试案例-测试Web服务器HTTP2新建性能
7.1测试拓扑
在这里插入图片描述

说明:测试仪只模拟HTTP2的客户端,向服务器发送HTTP2请求,服务器收到请求后,处理请求并发送响应给Supernova测试仪客户端。测试仪进行SSL握手、HTTP2请求、回应等结果统计,得到服务器的HTTP2性能参数。
7.2测试目的
本案例测试Web服务器HTTP2新建会话能力。
7.3测试步骤
1.按图连接好拓扑
2.Web服务器配置:配置与测试仪相连的接口IP以及4个测试文件;
3.测试仪上创建HTTP2新建用例,配置SSL版本、算法套件以及证书,配置Web功能模块,调整CPU核数、虚拟用户数量等参数;
4.测试仪配置完成之后,启动用例,查看测试仪统计,有预期结果2;
7.4预期结果
预期结果2:HTTP2新建成功,请求4个测试文件可以达到1000/秒的速率;
7.5 Web服务器配置
根据测试拓扑配置服务器接口IP:8.1.1.100/24,并在Web服务目录下创建四个测试文件test.html、defaultCSS.css、defaultJS.js、defaultPNG.png。

7.6测试仪配置
7.6.1创建HTTP2新建用例,配置参数
(1)在应用服务测试中,创建HTTP2网页CPS速率测试用例,本案例是在同一网段,选择同一子网即可,
在这里插入图片描述
在这里插入图片描述

(2)分配CPU核数
在这里插入图片描述

(3)设置抓包
在这里插入图片描述

(4)配置虚拟用户数量,启用HTTP流量记录
HTTP2报文是加密的,启用HTTP流量记录可以查看明文信息
在这里插入图片描述

(5)配置SSL版本及算法套件
在这里插入图片描述

选择不认证,测试仪只模拟客户端,无需配置证书。

(6)配置服务器端口,本案例中Web服务的HTTP2服务器端口号为443
在这里插入图片描述

7.6.2配置Web功能模块
(1)点击加号,创建一个新的对象

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

(2)配置HTTP请求文件的请求信息
URL路径和HTTP请求头
在这里插入图片描述

请求类型此案例中选择Get即可
在这里插入图片描述

(3)本案例中,测试仪无需模拟服务端,所以此处不需要配置HTTP响应内容,配置完成后,点击确定,包含一个请求的功能模块配置完成
在这里插入图片描述

(4)按照上述配置过程,再配置三个请求文件
在这里插入图片描述

(5)点击返回,Web功能模块选择新配置的功能模块

在这里插入图片描述

(6)配置完成后,点击启动用例
在这里插入图片描述

(7)在监控中查看运行界面,状态应用层中HTTP新建速率为关键结果

在这里插入图片描述

7.7验证预期结果
HTTP2新建成功,请求4个文件可以达到100/秒的新建速率;
在这里插入图片描述
在这里插入图片描述

结论:符合预期结果

7.8查看报文和HTTP交互日志
在监控页面或报告页面下载抓包文件和交互日志
在这里插入图片描述在这里插入图片描述

在这里插入图片描述

八、测试报告
(1)测试历史报告可以在“报告”页面查看
在这里插入图片描述

(2)点击生成报告按钮,可以查看报告内容
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

(3)点击生成文档按钮,可以生成HTML、PDF、Word、Excel形式的报告文档,并支持下载
在这里插入图片描述
在这里插入图片描述

生成完成后,点击下载相应的格式的报告即可。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值