使用 Jmeter进行压测

一、环境配置
因为jmeter需要java环境,所以需要下载Jdk和Jmeter。需要注意jdk的版本和jmeter的匹配问题
推荐大家观看Furion的作者百小僧的视频来学习,讲的很细
1、安装JDK,并配置环境变量
官网下载地址:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html,根据自己情况选择下载:

下载成功后,双击安装包,一直下一步即可(可以自定义安装目录,我设置为D:\SoftInstallPackage\jdk-11.0.9_windows-x64_bin,记住这个路径,设置环境变量要用),安装完成之后按照下图进行环境变量配置:

选择高级系统设置:

点击环境变量:

检验是否配置成功:在命令提示符输入:java -version

2、JMETER下载及配置环境变量
官网下载地址:http://jmeter.apache.org/download_jmeter.cgi ,一般下载Binaries,Source含有源码

下载后无需安装,解压后即可使用。下图为解压后的目录。

完成以上操作后,需要进行配置jmeter的环境变量。如下图:

操作完上面的步骤,我们就可以点击Jmeter中bin目录下面的jmeter.bat文件即可打开Jmeter了。注意:打开的时候会有两个窗口,Jmeter的命令窗口和Jmeter的图形操作界面,不可以关闭命令窗口。

进入JMeter界面。

二、使用JMeter对Websocket进行压测
如果不想看英文界面可以设置成中文,如下:

1、插件安装
想要测试websocket请求,但是没有找到WebSocket Sample,如下图:

所以准备利用plugins-manager安装websocket插件,结果发现plugins-manager也没有,如下图:

所以先安装plugins-manager插件,插件链接:https://jmeter-plugins.org/get/,将下载的jar包放入jmeter的 lib/ext目录,重启jmeter,如下图:

重启Jmeter,可以看到有plugins-manager了,如下图:

接下来利用Plugins Manager安装Websocket插件,点击Options – Plugins Manager,如下图:

在Available Plugins标签下搜索websocket,选中WebSocket Samplers by Peter Doornbosch,然后点击Apply Changes and Restart JMeter按钮。

这样就能看到WebSocket Sample了:

2、Websocket压测
在Test Plan上点击右键,依次选择Add – Threads – Thread Group

添加完成后,对线程组进行配置:

在HelloFontWsTest上点击右键,依次选择Add – Sampler – Websocket Open Connection

保存完毕之后呢,我们需要在压测的过程中,去查看请求的结果,因此需要添加一个“查看结果树”


这个时候我们点击启动,看看效果:

这个时候我们把线程数加大,先加达到100

点击启动,看看效果:

我们可以看到红色就是失败的个数。数量有点多,所以我们需要借助Aggregate Graph(聚合报告):

点击启动,看看效果:

这样我们就可以不断的去改变线程数,然后去观察失败率和吞吐量,得到一个当前请求的一个最佳的相应数。在测试的过程中发现,如果手动去强制停止的话,最后的几条请求会因为手动停止而抛出异常,所以我们可以重新设置线程组,达到请求次数后自动停止,不要永久循环。比如,请求十万次,我们可以设置如下:


使用 Jmeter进行压测的更多相关文章
- lesson5:利用jmeter来压测消息队列(activemq)
本文讲述了利用jmeter来压测消息队列,其中消息队列采用apache的activemq,jmeter本身是支持符合jms标准消息队列的压测,由于jmeter的官方sampler配置比较复杂,本文直接 ...
- lesson4:利用jmeter来压测数据库
本文讲述了如何利用jmeter来压测数据库,事例中选取了mysql作为测试数据库,其它的数据库也是一样,只需要更换驱动程序即可. 准备工作:a.mysql数据库安装,请自行百度:b.jdbc驱动包,请 ...
- jmeter 分布式压测(windows)
单台压测机通常会遇到客户端瓶颈,受制于客户机的性能.可能由于网络带宽,CPU,内存的限制不能给到服务器足够的压力,这个时候你就需要用到分布式方案来解决客户机的瓶颈,压测的结果也会更加接近于真实情况. ...
- jmeter简单压测设置
参数化 随机参数 时间参数 顺序自增函数 文件读取 直接引用 响应断言 用来查看sessionid 关联 关联引用 jmeter操作数据库 安装连接程序包 ip 端口号 哪个数据库 可以执行多条s ...
- Jmeter阶梯式压测
https://www.cnblogs.com/Zfc-Cjk/p/11639219.html 什么是阶梯式压测? 阶梯式压测,就是对系统的压力呈现阶梯性增加的过程,每个阶段压力值都要增加一个数量值, ...
- jmeter接口压测的反思
jmeter接口压测的反思 1.keepalive的坑:连接数满了,导致发起的请求失败. 2.token关联?是数据库取做参数化,还是随机数生成(需要改代码) 3.签名问题如何处理? 4.压测负载机端 ...
- 压力测试(八)-多节点JMeter分布式压测实战
1.Jmeter4.0分布式压测准备工作 简介:讲解Linux服务器上jmeter进行分布式压测的相关准备工作 1.压测注意事项 the firewalls on the systems are tu ...
- JMeter分布式压测实战(2020年清明假期学习笔记)
一.常用压力测试工具对比 简介:目前用的常用测试工具对比 1.loadrunner 性能稳定,压测结果及颗粒度大,可以自定义脚本进行压测,但是太过于重大,功能比较繁多. 2.Apache ab(单接口 ...
- Jmeter让压测随时做起来(转载)
为什么要压测 这个问题问的其实挺没有必要的,做开发的同学应该都很清楚,压测的必要性,压力测试主要目的就是让我们在上线前能够了解到我们系统的承载能力,和当前.未来系统压力的提升情况,能够评估出当前系统的 ...
- jmeter静默压测+可视化
静默压测自动化脚本auto_stress_test.sh #!/usr/bin/env bash export jmx_template="test2" export suffix ...
随机推荐
- Linux命令每天都要使用,但又太长记不住怎么办?教你1个方法
序言各位好啊,我是会编程的蜗牛,作为java开发者 ,我们肯定会与linux服务器打交道,关于linux服务器的连接工具,可以参考我的文章Tabby,一款老外都在用的 SSH工具,竟然还支持网页操作~ ...
- ShardingSphere系列(二)——ShardingSphere-JDBC绑定表
完整的项目示例地址:https://gitee.com/learnhow/shardingsphere/tree/v1.1/jdbc 紧接上一篇文章,这次我们介绍绑定表的概念. 绑定表指分片规则一致的 ...
- 简单粗暴的实现 Blazor Server 登录鉴权
既然是简单粗暴,那么就不用关心诸如 IDentityServer4,OAuth 之类的组件,也不使用 AuthenticationStateProvider.IAuthService, razor 页 ...
- Android :安卓学习笔记之 Handler机制 的简单理解和使用
目录 Handler机制 1.Handler使用的引出 2.背景和定义 3.作用和意义 4.主要参数 5.工作原理及流程 5.1.对应关系 6.深入分析 Handler机制源码 6.1.Handler ...
- AMBA总线架构简介
于是乎,我们想到了总线,用一个统一的接口协议,设计出一个符合要求的总线,然后将ARM核和各种外设模块挂载在总线上,这样,命令和数据似乎便可以在CPU和外设之间自由穿梭. 1 AMBA总线 AMBA,英 ...
- 在 Vue 实例中编写生命周期hook 或者其它 option/propertie 时,为什么不适用箭头函数 ?
首先,箭头函数没有自己的 this 环境变量 会沿用作用域使用父级this : 由Vue 管理的函数 ,如果写成箭头函数 this 就不在是 Vue 实例 了 :
- 10 Self-Attention(自注意力机制)
博客配套视频链接: https://space.bilibili.com/383551518?spm_id_from=333.1007.0.0 b 站直接看 配套 github 链接:https:// ...
- Android复习(五)设备兼容—>屏幕适配
1. 适配使用的布局 目前版本Google还是希望开发者通过 ConstraintLayout 布局完成适配 2. 对于特定屏幕 创建备用布局,即在res/layout/目录下创建对应尺寸的布局文件 ...
- golang中使用多线程和channel通道
package controller import ( "context" "github.com/gogf/gf/v2/os/grpool" "sy ...
- 【异常处理】Assistive Technology not found: com.sun.java.accessibility.AccessBridge
十一回来之后,工作电脑上的抓包工具Charles突然启动不起来了,双击图标后,一闪而过,就没动静了. 不知道是不是因为之前安装了什么工具.软件引起的. 打开CMD命令行,跳转到目录下启动,提示:Ass ...