https://www.cnblogs.com/a00ium/p/10462572.html

今天开发大大说能不能帮忙压一下HTTP2的链接,便去查了一下相关的东西。

HTTP 2.0 的出现,相比于 HTTP 1.x ,大幅度的提升了 web 性能。在与 HTTP/1.1 完全语义兼容的基础上,进一步减少了网络延迟。而对于前端开发人员来说,无疑减少了在前端方面的优化工作。

HTTP/2: the Future of the Internet 这是 Akamai 公司建立的一个官方的演示,用以说明 HTTP/2 相比于之前的 HTTP/1.1 在性能上的大幅度提升。 同时请求 379 张图片,从Load time 的对比可以看出 HTTP/2 在速度上的优势。

 
image.png

HTTP1.1 HTTP 2.0主要区别

多路复用


HTTP2.0使用了多路复用的技术,做到同一个连接并发处理多个请求,而且并发请求的数量比HTTP1.1大了好几个数量级。当然HTTP1.1也可以多建立几个TCP连接,来支持处理更多并发的请求,但是创建TCP连接本身也是有开销的。TCP连接有一个预热和保护的过程,先检查数据是否传送成功,一旦成功过,则慢慢加大传输速度。因此对应瞬时并发的连接,服务器的响应就会变慢。所以最好能使用一个建立好的连接,并且这个连接可以支持瞬时并发的请求。
关于多路复用,可以参看学习NIO 。

数据压缩


HTTP1.1不支持header数据的压缩,HTTP2.0使用HPACK算法对header的数据进行压缩,这样数据体积小了,在网络上传输就会更快。

服务器推送


意思是说,当我们对支持HTTP2.0的web server请求数据的时候,服务器会顺便把一些客户端需要的资源一起推送到客户端,免得客户端再次创建连接发送请求到服务器端获取。这种方式非常合适加载静态资源。服务器端推送的这些资源其实存在客户端的某处地方,客户端直接从本地加载这些资源就可以了,不用走网络,速度自然是快很多的。

好了,闲话少叙,切入正题!

1.下载安装HTTP/2 Sampler插件

 
HTTP/2 Sampler.png

2.重启jmeter之后,就可以看到相应的Sample和Listener了,但直接使用时,发现如下报错:

 
报错.png

回过头查看HTTP/2 Sampler.png截图中的github项目链接:

 
image.png

原来Java 8本身不支持HTTP / 2,因此需要确保在系统上具有alpn-boot并编辑JVM_ARGS.

3.下载alpn-boot包

访问https://www.eclipse.org/jetty/documentation/9.4.x/alpn-chapter.html,查看不同的jdk版本对应的alpn的版本号:

 
image.png
 
我的jdk对应版本.png

maven仓库下载对应版本的jar包:

 
image.png

4.修改jmeter.bat文件

在jmeter.bat文件的起始行添加如下代码:

set JVM_ARGS= -Xbootclasspath/p:D:\apache-jmeter-4.0\lib\ext\alpn-boot-8.1.9.v20160720.jar
 
image.png

5.再次重启jmeter并运行之前的脚本,就没问题了

 
image.png

作者:呆呆冬
链接:https://www.jianshu.com/p/288da84807b3
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

[转帖]HTTP2 Sampler for JMeter的更多相关文章

  1. HTTP2 Sampler for JMeter

    今天开发大大说能不能帮忙压一下HTTP2的链接,便去查了一下相关的东西. HTTP 2.0 的出现,相比于 HTTP 1.x ,大幅度的提升了 web 性能.在与 HTTP/1.1 完全语义兼容的基础 ...

  2. Jmeter通过BeanShell Sampler获取Jmeter的Bin路径,并存入变量供后面的脚本调用

    Jmeter的Bin路径是其运行路径,当把自动化测试的脚本放在Bin目录下时,为了将存储CSV的数据文件以及脚本的路径都设置成相对路径,我们需要获取到Jmeter的运行路径: 通过BeanShell ...

  3. 使用JMeter的Java Sampler轻松定制自己的benchmark

    做性能测试,接口测试,非常好 转自  http://www.iteye.com/topic/1123432 以前碰到更多的是WEB APP的性能测试,也许用得最多的是Loadrunner, Web S ...

  4. 12张图打开JMeter体系结构全局视角

    JMeter是Java技术栈工具,在软件测试领域应用非常广泛,无论是性能测试还是接口测试,技术都很成熟和稳定.它有一个突出特点:开源,适合做二次开发,以阿里为代表的Java技术栈公司都对它青睐有加.在 ...

  5. jmeter 常用组件详解

    1.测试计划(test plan) 描述一个性能测试,包含本次测试所有相关功能 2.threads(users)线程 Setup thread group: 一种特殊类型的线程,可用于执行预测试操作. ...

  6. 转载:Jmeter教程索引

    摘自: 阳光温暖了心情 的 http://www.cnblogs.com/yangxia-test/category/431240.html 1 JMeter学习(一)工具简单介绍 2 JMeter学 ...

  7. JMeter性能测试的基础知识和个人理解

    JMeter性能测试的基础知识和个人理解 1. JMeter的简介   JMeter是Apache组织开发的开源项目,设计之初是用于做性能测试的,同时它在实现对各种接口的调用方面做的比较成熟,因此,常 ...

  8. 采样器----Debug Sampler

    Debug Sampler可以产生所有JMeter变量和属性的样本,可以在View Tree Result的响应中查看变量的值,此取样器在调试脚本阶段可以很方便的看到变量的值,在正式运行脚本的过程中应 ...

  9. jmeter之java请求

    通常情况下,推荐使用jmeter之java请求编写一beashell调用java代码(上篇)(推荐)编写Java 请求 有以下优势 脚本易维护 易调试 开发脚本周期短 不过网上扩展java请求文章比较 ...

  10. Windows下使用JMeter

    简介 Apache JMeter是100%纯java桌面应用程序,被设计用来测试C/S结构的软件(例如web应用程序).它可以被用来测试包括基于静态和动态资源程序的性能,例如静态文件,Java Ser ...

随机推荐

  1. LeetCode 贪心篇(455、55)

    455. 分发饼干 假设你是一位很棒的家长,想要给你的孩子们一些小饼干.但是,每个孩子最多只能给一块饼干.对每个孩子 i ,都有一个胃口值 gi ,这是能让孩子们满足胃口的饼干的最小尺寸:并且每块饼干 ...

  2. mac phpbrew安装

    php 编译安装php 7.2.26 aliyun 镜像中心:https://developer.aliyun.com/mirror/ 1.安装brew /usr/bin/ruby -e " ...

  3. .NET技术分享日活动-202104

    2021年4月27日下午,个人组织举办了山东地区的山东.NET技术分享日活动.围绕互联网技术.大数据.机器学习.业务实践等方向进行创新技术的实践分享. 本次技术分享日活动面向了山东地区广大的.NET ...

  4. java进行数据库操作的并发控制的2种方法

    本文分享自华为云社区<java进行数据库操作的并发控制>,作者:张俭. 在现代应用编码中,从数据库里面find出来,进行一些业务逻辑操作,最后再save回去.即: Person perso ...

  5. 技术实践丨手把手教你使用MQTT方式对接华为IoT平台 华为云开发者社区

    摘要:本文主要讲述使用MQTT方式对接华为云IoT平台的具体过程. 使用的方案:目标板为STM32L431BearPI(带E53扩展板); TCPIP功能由开发板的ESP8266提供:MQTT使用Pa ...

  6. ModelBox姿态匹配:抖抖手动动脚勤做深呼吸

    摘要:本案例使用Windows版本的ModelBox SDK进行二次开发,主要是针对姿态匹配案例开发实践. 本文分享自华为云社区<姿态匹配:抖抖手动动脚勤做深呼吸>,作者:吴小鱼. 在之前 ...

  7. Vuex在TSX中的改造方案:TS改造Vue2项目Vuex如何处置?

    vuex目前比较流行的有:vuex-aggregate . vuex-class.vuex-module-decorators npm搜到相关的,看下趋势图:https://www.npmtrends ...

  8. 开发调试更便捷!火山引擎 DataLeap 提供 Notebook 交互式开发体验

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 Notebook 是一种支持 REPL 模式的开发环境. 所谓「REPL」,即「读取-求值-输出」循环:输入一段代 ...

  9. 对话 BitSail Contributor | 刘啸:参与开源,提升自我技术力

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 2022 年 10 月,字节跳动 BitSail 数据引擎正式开源.同期,社区推出 Contributor 激励计 ...

  10. 如何删除PPT中工具栏口袋动画

    口袋动画官网无法打开 http://www.papocket.com/ 插件无法使用 卸载 在[程序和功能]中卸载后,打开PPT,菜单还是存在 选项--加载项,点击以p开头的一串代码(com加载项), ...