使用 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 ...
随机推荐
- SQL Server – 冷知识 (新手)
前言 没有系统化学一本语言或技术, 那便会被一些冷知识坑. 这里做些记入. 变量作用域 SQL 是远古语法, 声明变量在最顶部就是一条上古法则. 如果我看见有了用这个法则写 C# 或 JS 我就会杀了 ...
- JDBC——API详解
DiverManager DriverManager(驱动管理类)作用: 1. 注册驱动 MySQL 5之后的版本 不再需要手动写这行注册驱动的代码了(可以省略) // 1.注册驱动 Class.fo ...
- HTTP——简介
HTTP
- @RequestBody注意事项
使用@RequestBody注解时,是用于接收Content-Type为application/json类型的请求,数据类型是JSON:{"aaa":"111" ...
- Springboot 读取 resource 目录下的Excel文件并下载
如果 inputStream 为null ,或者提示 文件路径不存在,执行 mvn clean 并 重启项目,查看target 目录下是否存在该文件 @GetMapping("/downlo ...
- OpenAI 发布适用于 .NET 库的稳定版本
OpenAI 在 6 月发布测试版后发布了其官方 .NET 库的稳定版本.它以 NuGet 包的形式提供,支持 GPT-4o 和 GPT-4o mini 等最新模型,以及完整的 OpenAI REST ...
- 利用cv2.dilate对图像进行膨胀
cv2.getStructuringElement(cv2.MORPH_RECT, (7,7))介绍,请看这个博客.我简要说一下cv2.getStructuringElement,可用于构造一个特定大 ...
- 专场直播预约 | 邀您探讨KaiwuDB 离散制造业场景解决方案
先导语 近日,KaiwuDB 携手山东重工集团有限公司(以下简称:山东重工) 重磅发布"离散制造业解决方案".该方案以 KaiwuDB 就地运算技术专利技术为底座,搭建了&quo ...
- 云原生爱好者周刊:Crossplane 成为 CNCF 孵化项目
云原生一周动态要闻: Crossplane 成为 CNCF 孵化项目 VMware Tanzu Kubernetes Grid 1.4 发布 Sqlcommenter 与 OpenTelemetry ...
- Linux系统管理-yum源配置
一.本地光盘yum源配置 1.创建挂载点 [root@localhost ~]# mkdir /mnt/cdrom 2.配置自动挂载本地光盘 [root@localhost ~]# vim /etc/ ...