一、环境配置

因为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. JavaScript – ECMAScript 版本

    参考 TC39.ECMA-262.ECMAScript 的一些事儿 简史 es3 千禧年后稳定版 es4 革命版本, 最后在 2008 年难产了 es5 2009 年推出, 拿了 es4 一些比较简单 ...

  2. TypeScript 学习笔记 – Handbook 1

    前言 一转眼, 一年多没有写 TypeScript 了. 最近又要开始写了, 乘此机会打算系统学习一下, 顺便写一个学习笔记. 我接触 TypeScript 比较早, 那是 Angular 2 bet ...

  3. Tomcat——基本使用(下载、安装、卸载、启动、关闭)

    Tomcat--基本使用   1.下载安装(8.5版本为企业最常用版本)     下载地址:https://tomcat.apache.org/download-80.cgi          (官网 ...

  4. Linux下挂载SD卡,以及容易犯的误区

    1.插入SD卡 如果系统能够识别SD卡,则会打印一些信息: 2.查看系统给SD卡分配的设备名 命令如下: fdisk -l 说明:通常是根据SD卡的存储容量来确定的. 比如下面的信息: 3.挂载SD卡 ...

  5. Codeforces Round 955 (Div. 2)

    A 非常好特判 一共就五种情况,相等,或者正反两种包含(都是不能可能不包含),或者正反两种先后(都是可能不相等),写五个 if 就行了 B 我到底为什么要跳了这题??????????????????? ...

  6. `->` 操作符重载的注意事项

    在 C++ 中,-> 操作符可以被重载,用于对象的指针成员访问. 重载后的 -> 操作符主要用于模拟指针访问行为,常见于智能指针的实现等复杂场景. -> 操作符重载后的调用触发流程: ...

  7. 聊聊 HTAP 的前世今生

    随着现代社会大型实时分析应用的逐渐流行,关系型数据库已经难以处理高并发的事务请求.商业层面上,当全球进入数字化时代,数字化技术渗透到各行各业,同时产生了海量数据,数据的存储和应用是企业决策的重要依据之 ...

  8. 立即报名 | 云原生 + AI Meetup 成都站 11.4 正式开启

    2023 年,KubeSphere 社区已经在深圳.杭州.上海三个城市各组织了一场线下 Meetup.第四站,我们将走进天府成都. 11 月 4 日,云原生 + AI Meetup 成都站将正式开启! ...

  9. NebulaGraph 的云产品交付实践

    作者:乔雷,Vesoft.Inc 云原生技术专家 NebulaGraph 介绍 NebulaGraph 是由杭州悦数科技有限公司自主研发的一款开源分布式图数据库产品,擅长处理千亿节点万亿条边的超大数据 ...

  10. mongodb副本集群使用总结

    一.该文档仅为了总结经验,方便下次部署时跳过踩过的坑.其中MongoDB的复制原理.特点等参照的菜鸟教程,附地址:https://www.runoob.com/mongodb/mongodb-repl ...