成功测试
成功测试

您现在的位置: 成功测试简介_成功测试分数 > 成功测试物语 > 基于kylinTOP工具的HTTP2压力

基于kylinTOP工具的HTTP2压力

发布时间:2020/10/6 15:10:08   点击数:

顾老师安全测试新课,报名   1、HTTP协议概述

  说到   request报文

  response报文

  HTTP/1.1的问题

     传输报文为ascii文本形式,对于   请求只能由客户端发起,不能由服务端发起。这种模式限制了一些主动推送或者有双工需求的使用场景,当然也有比如websocket之类的解决方案,但那严格来说已经不属于   同步阻塞通讯:其实在   由于队头堵塞问题的存在,在客户端要下载大量资源的情况下,不得不和服务器建立多个TCP连接(大部分浏览器允许最多建立6个和指定服务器的持久连接),达到并发传输的效果,而众所周知,建立和销毁tcp连接的成本是非常高昂的(如果是   基于以上的这些痛点,催生出了   HTTP/2

  SPDY

     页面加载时间(PLT)减少50%。

  无需网站作者修改任何内容。

  将部署复杂性降至 ,无需变更网络基础设施。

  与开源社区合作开发这个新协议。

  收集真实性能数据,验证这个实验性协议是否有效。

  到了年,这个新的实验性协议得到了Chrome、Firefox和Opera的支持,越来越多的大型网站(如Google、Twitter、Facebook)和小型网站开始在其基础设施内部署SPDY。事实上,在被行业越来越多的采用之后,SPDY已经具备了成为一个标准的条件。

  观察到这一趋势后,HTTP工作组(HTTP-WG)将这一工作提上议事日程,吸取SPDY的经验教训,并在此基础上制定了官方“HTTP/2”标准。在拟定宣言草案、向社会征集HTTP/2建议并经过内部讨论之后,HTTP-WG决定将SPDY规范作为新HTTP/2协议的基础。年初,IESG审阅了新的HTTP/2标准并批准发布。

  2、HTTP2的压力测试   现网中已经存在大量的基于HTTP2协议的WEB服务,对于HTTP2协议,浏览器访问web服务存在较大的差异,主要体现在相同的并发量的情况下,WEB服务会受到突发性HTTP请求的冲击。主要原因是对于浏览器访问一个页面,HTTP/1.1协议,浏览器最并发量控制在6个以内。但对于HTTP2的请求 并量几乎没有限制,如下所示。

  要对支持HTTP2协议的网站进行压力测试,必须是基于HTTP/2协议的请求并发(一般支持HTTP2协议的WEB服务,都会同时支持HTTP/1.1,与客户端之间建立链接时,必须进行握手,互方协商需要使用的协议,如果测试工具不支持HTTP/2协议,下发HTTP/1.1的协议请求,WEB服务器也可以正常提供服务,这时测试的结果就不是你想要的结果)。

  要想证明性能测试工具下的HTTP协议是HTTP/1.1还是HTTP2,可以通过抓包工具抓取serverheloo的报文进行确认。如下所示:serverhello报文中的ALPNNextProtocol:h2,是判断发送HTTP请求协议版本的重要判断依据。

  3、支持HTTP2协议的压力测试工具

  国内常用的Jmeter,LoadRunner12性能测试工具,这两个均不支持HTTP2协议的请求。下图是通过LR12.55导入chromeHAR包,发送HTTP请求的抓包图。报文中没有ALPNNextProtocol:h2的关键字(LR没有采用ie录制脚本的原因是ie不支持HTTP/2)。目前国内阿里PTS,腾讯WeTest,华为CPTS均不支持HTTP2协议。本文采用奇林软件kylinTOP

  4、HTTP2压力测试

  4.1、录制脚本

  本次以脚本录制网站案采用:   打开HTTP2开关,点击确认,弹出如下对话框,输入要录制的URL

  录制生成如下脚本

  调试脚本

  调试过程可以看到HTTP请求的瀑布图,几科所有HTTP请求都是同时并发。目前kylinTOP工具在处理HTTP/2协议的HTTP的请求并发模型依据请求的父子关系,按照一定的算法进行并发。从并法的瀑布图看,与HTTP2协议的标准相一致(HTTP2标准并发是按照尽可能的并发,除非两个请求有依赖关系。 并发可以达到都有可能)。

顾翔老师与云测学院联合推出:软件测试分析与设计,

转载请注明:http://www.81guangchang.com/cgwy/11365.html

网站简介 | 发布优势 | 服务条款 | 隐私保护 | 广告合作 | 合作伙伴 | 版权申明 | 网站地图

当前时间:


冀ICP备20001468号-10