一、环境配置

因为jmeter需要java环境,所以需要下载Jdk和Jmeter。需要注意jdk的版本和jmeter的匹配问题

推荐大家观看Furion的作者百小僧的视频来学习,讲的很细

https://www.bilibili.com/video/BV1eo4y1Q7sJ

转自:https://www.cnblogs.com/qtiger/p/14485248.html

https://hunji.xyz/archives/167.html

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进行压测的更多相关文章

  1. lesson5:利用jmeter来压测消息队列(activemq)

    本文讲述了利用jmeter来压测消息队列,其中消息队列采用apache的activemq,jmeter本身是支持符合jms标准消息队列的压测,由于jmeter的官方sampler配置比较复杂,本文直接 ...

  2. lesson4:利用jmeter来压测数据库

    本文讲述了如何利用jmeter来压测数据库,事例中选取了mysql作为测试数据库,其它的数据库也是一样,只需要更换驱动程序即可. 准备工作:a.mysql数据库安装,请自行百度:b.jdbc驱动包,请 ...

  3. jmeter 分布式压测(windows)

    单台压测机通常会遇到客户端瓶颈,受制于客户机的性能.可能由于网络带宽,CPU,内存的限制不能给到服务器足够的压力,这个时候你就需要用到分布式方案来解决客户机的瓶颈,压测的结果也会更加接近于真实情况. ...

  4. jmeter简单压测设置

    参数化 随机参数 时间参数 顺序自增函数  文件读取  直接引用 响应断言 用来查看sessionid 关联 关联引用 jmeter操作数据库 安装连接程序包 ip 端口号 哪个数据库 可以执行多条s ...

  5. Jmeter阶梯式压测

    https://www.cnblogs.com/Zfc-Cjk/p/11639219.html 什么是阶梯式压测? 阶梯式压测,就是对系统的压力呈现阶梯性增加的过程,每个阶段压力值都要增加一个数量值, ...

  6. jmeter接口压测的反思

    jmeter接口压测的反思 1.keepalive的坑:连接数满了,导致发起的请求失败. 2.token关联?是数据库取做参数化,还是随机数生成(需要改代码) 3.签名问题如何处理? 4.压测负载机端 ...

  7. 压力测试(八)-多节点JMeter分布式压测实战

    1.Jmeter4.0分布式压测准备工作 简介:讲解Linux服务器上jmeter进行分布式压测的相关准备工作 1.压测注意事项 the firewalls on the systems are tu ...

  8. JMeter分布式压测实战(2020年清明假期学习笔记)

    一.常用压力测试工具对比 简介:目前用的常用测试工具对比 1.loadrunner 性能稳定,压测结果及颗粒度大,可以自定义脚本进行压测,但是太过于重大,功能比较繁多. 2.Apache ab(单接口 ...

  9. Jmeter让压测随时做起来(转载)

    为什么要压测 这个问题问的其实挺没有必要的,做开发的同学应该都很清楚,压测的必要性,压力测试主要目的就是让我们在上线前能够了解到我们系统的承载能力,和当前.未来系统压力的提升情况,能够评估出当前系统的 ...

  10. jmeter静默压测+可视化

    静默压测自动化脚本auto_stress_test.sh #!/usr/bin/env bash export jmx_template="test2" export suffix ...

随机推荐

  1. Angular 学习笔记 (Typescript 高级篇)

    由于 typescript 越来越复杂. 所以特意开多一个篇幅来记入一些比较难的, 和一些到了一定程度需要知道的基础. 主要参考 https://basarat.gitbook.io/typescri ...

  2. MyBatis——简介

    MyBatis MyBatis 是一款优秀的持久层框架,用于简化 JDBC 开发 官网:https://mybatis.net.cn/ 持久层 负责将数据保存到数据库的那一层代码 javaEE 三层架 ...

  3. socket close和shutdown的区别,TIME_WAIT和CLOSE_WAIT

    TCP主动关闭连接 appl: close(), --> FIN FIN_WAIT_1 //主动关闭socket方,调用close关闭socket,发FIN               < ...

  4. Atcoder Beginner Contest 367

    A.Shout Everyday \(\text{Diff }43\) 给你 \(24\) 小时制下的 \(A,B,C\) 三个时刻,问 \(A\) 是否在 \([B,C]\) 范围内 考虑到先将 \ ...

  5. Kubernetes ReplicaSet 控制器(十九)

    前面我们一起学习了 Pod 的原理和一些基本使用,但是在实际使用的时候并不会直接使用 Pod,而是会使用各种控制器来满足我们的需求,Kubernetes 中运行了一系列控制器来确保集群的当前状态与期望 ...

  6. 使用composer创建项目时报错:Composer could not find the config file?

    使用composer创建项目时报错:Composer could not find the config file:C:\Composer ....? 一般报这个错就是composer安装的时候配置了 ...

  7. 为什么科技企业都在建设API开放平台?

    一.API开发者门户的兴起 随着数字化转型的推进,越来越多的企业开始依赖 API 来实现内部系统的连接与外部服务的集成.然而,企业在API管理方面面临着复杂且繁琐的挑战:API的调用关系混乱.难以追踪 ...

  8. CSP模拟 小 trick 总结 (持续施工中)

    虽然这篇博客来的有点晚,但还是写了,欢迎dalao补充( (很杂,建议先浏览目录) 1.分块.莫队有关: \(\color{brown}(1)一个真正的回滚莫队(感谢\ Qyun\ 的讲解):\) $ ...

  9. 云原生周刊:Istio 1.19 发布 | 2023.9.11

    开源项目推荐 Timoni Timoni 是 Kubernetes 的软件包管理器,由 CUE 提供支持,灵感来自 Helm. Timoni 项目致力于改善编写 Kubernetes 配置的用户体验. ...

  10. 基于 Python + Vue3!一个轻量级的域名和 SSL 证书监测平台!

    大家好,我是 Java陈序员. 在企业开发中,由于业务众多,涉及到很多业务域名证书,证书过期由于遗忘常常未能及时续期,导致线上访问异常,给企业带来损失! 今天,给大家介绍一个轻量级的域名和 SSL 证 ...