分布式压测系列之Jmeter4.0第一季

Jmeter4.0性能测试工具安装 jmeter性能测试工具安装 阅读详情

1)Jmeter4.0介绍

jmeter是个纯java编写的开源压测工具,apache旗下的开源软件,一开始是设计为web测试的软件,由于发展迅猛,现在可以压测许多协议比如:http、https、soap、ftp、database数据库、LDAP  轻量目录访问协议、TCP、SOMP(简单邮件协议)等,由于是纯java编写,可以在苹果、window或者Linux下运行,全功能的测试IDE,允许快速的建立测试计划(从浏览器或本地应用程序,官网地址:http://jmeter.apache.org),Jmeter是一个中高级开发或者测试人员都必须掌握的一个工具。

目前用的常用测试工具对比:

1、loadrunner:性能稳定,压测结果及细粒度大,可以自定义脚本进行压测,但是太过于重大,功能比较繁多
2、apache ab(单接口压测最方便):模拟多线程并发请求,ab命令对发出负载的计算机要求很低,既不会占用很多CPU,也不会占用太多的内存,但却会给目标服务器造成巨大的负载, 简单DDOS攻击等
3、webbench:webbench首先fork出多个子进程,每个子进程都循环做web访问测试。子进程把访问的结果通过pipe告诉父进程,父进程做最终的统计结果。

 

2)特点

  • 提供GUI图形界面和非GUI界面进行压测,在windows下面进行开发测试压测脚本,然后直接在linux上执行
  • 可以提供完整的动态HTML压测报告
  • 纯java编写,一次编写,四处压测
  • 多线程框架允许通过多个线程同时进行采样压测,并通过单独的线程组同时采样不同的功能
  • 提供高度可扩展的功能,自定义插件:
  • 提供函数可用于为测试提供动态输入或提供数据操作。
  • 通过Maven,Graddle和Jenkins的第三方开源库轻松持续集成

3)准备工作

需要安装java运行环境,建议安装JDK环境,虽然JRE也可以,但是压测https需要JDK里面的 keytool工具;
新版本Jmeter4.0,需要JDK8以上版本,JDK9或者JDK10都可以;并配置好JDK环境(这里就不讲配置JDK环境了)
下载对应的Jmeter4.0版本并解压(官网地址:http://jmeter.apache.org/)
windows系统: http://mirrors.tuna.tsinghua.edu.cn/apache//jmeter/binaries/apache-jmeter-4.0.zip
Mac或者Linux:http://mirrors.tuna.tsinghua.edu.cn/apache//jmeter/binaries/apache-jmeter-4.0.tgz

4)jmeter4.0解压目录文件讲解

bin:核心可执行文件,包含配置
	jmeter.bat: windows启动文件:
	jmeter: mac或者linux启动文件:
	jmeter-server:mac或者Liunx分布式压测使用的启动文件
	jmeter-server.bat:mac或者Liunx分布式压测使用的启动文件
	jmeter.properties: 核心配置文件
	examples:压测脚本文件JMX和动态读取csv参数文件案例
	result—template:可视化HTML
	template:JMX的模板文件
			
docs:Jmeter的API文档
extras:插件拓展的包
lib:核心的依赖包
ext:核心包
junit:单元测试包

5)Jmeter核心组件介绍

什么是测试计划(Test plan)?

    就是压测的一个流程,比如压测什么接口,并发多少用户,协议等等,在测试计划下面配置线程组,采样器,监听器等组件

什么是线程组(Thread Group)?

线程组就是模拟多少用户并发访问你的应用,这个组里面共有多少用户,创建方法如上图现在“添加->threads->线程组“
    参数说明:
    线程数:虚拟用户数。一个虚拟用户占用一个进程或线程			
    准备时长(Ramp-Up Period(in seconds)):全部线程启动的时长,比如100个线程,20秒,则表示20秒内100个线程都要启动完成,每秒启动5个线程			
    循环次数:每个线程发送的次数,假如值为5,100个线程,则会发送500次请求,可以勾选永远循环

 

什么是采样器(Sampler)?

真正干活的组件,采样器里面配置你要压测的接口,协议,参数等
可以创建各种采样器,如Http请求,FTP请求,JDBC压测数据库请求,JMS等,对应的采样器有不同的配置
以http请求采样器为例
	名称:采样器名称,一般是接口名称,方便后续进行区分,比如“login接口”
	注释:采样器的描述,方便别人理解,类似压测接口描述
	web服务器配置
		协议:压测的协议,比如“http”或者"https"
		服务器名称或IP:压测目标机器的端口或者服务器IP地址,比如 www.xdclass.net
		端口号:压测目标机器的端口号,比如 8080
	HTTP请求配置
		方法:http的请求方法,常用的有GET,POST,PUT,DELETE,PATCH等
		路径:压测的接口的URL,比如 /api/v1/users
		Content encoding:是否进行内容编码
		
		自动重定向:http有302状态码返回的时候,重定向,但不会产生记录,不可以做关联请求,
		比如比如第二个请求要用到第一个请求的数据,则选择自动重定向无法做关联
		跟随重定向:会产生记录,可以做关联,默认勾选这个
		Use multipart/from-data for HTTP POST :当发送POST请求时,使用Use multipart/from-data方法发送,默认不选中。
		parameters:参数配置
		Files Upload:文件上传配置

什么是结果树?

压测的结果查看,可以看到压测发送的url,http参数,返回结果,返回的整个响应,然后如果有断言或者调试,可以看到断言是否通过等等
添加路径: 线程组->添加->监听器->察看结果树
如果不添加结果数,则点击压测开始按钮,压测具体响应我们无法知道,所以需要添加结果数,
一来是方便调试压测脚本,看请求参数,路径是否正常
切换到结果数查看页面,点击压测按钮就可以进压测,边压测可以边看到请求的结果。

 

补充个小技巧,就是GUI图形界面语言版本中英文切换:

1、控制台修改
	menu -> options -> choose language 选择对应的语言版本就可以
2、配置文件修改	
	bin目录 -> jmeter.properties
			默认 #language=en
			改为 language=zh_CN 

OK,Jmeter4.0压力测试第一季入门先到这里,

下一站章 会再分享Jmeter高级知识,比如断言使用,动态读取CSV参数,压测Mysql,阿里云Linux环境非GUI界面压测,分布式压测等等

视频课程参考:

https://www.xdclass.net/#/coursecatalogue?video_id=3

https://edu.youkuaiyun.com/course/detail/7587

 

关注我们,分享前沿动态

Linux下运行Jmeter压测 ​执行脚本之后,去目录/usr/local/apache-jmeter-3.1/jmx/logs下找到生成的jtl文件,下载到本地机器Windows环境下可使用jmeter聚合报告查看结果,如图所示: 阅读详情

相关推荐

MeterSphere基于JMeter分布式性能压测平台

MeterSphere分布式性能压测

qq_39286830的博客 1万+

Jmeter配置和安装

下载安装jmeter 下载地址:http://jmeter.apache.org/download_jmeter.cgi Windows 下载后解压即可使用。 Linux 下载并解压 Windows系统中下载apache-jmeter-4.0.tgz,上传到Linux服务器。 解压命令:tar zxvf apache-jmeter-4.0.tgz 配置环境变量 命令:vi /etc/profile,加入如下配置: #jmeter config export JMETER_HOME=/usr/lo

qq_39876973的博客 890

Jmeter分布式压测

该ip电脑进入jmeter安装目录下,双击“/jmeter/bin/jmeter.server.bat”出现弹框后不要关闭此弹框,管理机远程启动所有就不会连接拒绝报错了。jmeter版本是jmeter5.5。则管理机需要检查/jmeter/bin/jmeter.properties文件,这行代码“server.rmi.ssl.disable”是否为true。负载机需要检查/jmeter/bin/jmeter.properties文件,这行代码“server.rmi.ssl.disable”是否为true。

阿里大叔说测试的博客 1425

Jmeter4.0分布式测试环境搭建及常见问题

Jmeter4.0分布式测试环境搭建及常见问题

Pseudo_Programmer 510

性能测试:JMeter分布式压测环境部署

2023最新自动化测试自学教程新手小白26天入门最详细教程,目前已有300多人通过学习这套教程入职大厂!!_哔哩哔哩_bilibili2023最新合集Python自动化测试开发框架【全栈/实战/教程】合集精华,学完年薪40W+_哔哩哔哩_bilibili​​​​​​也方便你下次能够快速查找。如有不懂还要咨询下方小卡片,博主也希望和志同道合的测试人员一起学习进步在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。我的自动化测试开发之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,

m0_70618214的博客 2836

apache-jmeter-4.0安装包

apache-jmeter-4.0安装包

Jmeter 压测工具使用手册

取当前时间_time,一些时间类的入参可以使用,如 {time (,)} 是生成精确到毫秒的时间戳、{time (/1000,)} 是生成精确到秒的时间戳、${__time (yyyy-MM-dd HHss,)} 是生成精确到秒的当前时间。如下图则是最低响应时间的值出现几率是很小的,实际 99% 的用户请求响应时间都要 20000+。无论要提取多少个值,引用名称就是一个的,比如名称为 id,${id_go}: 获取整个字符串 ab,${id_g1}:获取的是 a,${id_g2}:获取的是 b。

m0_58951339的博客 792

jmeter4.0(jmeter经典版本)

jmeter4.0

Jmeter压力测试工具安装及使用教程

Jmeter压力测试工具安装及使用教程 一、Jmeter下载 进入官网:http://jmeter.apache.org/ 1.第一步进入官网如下图 2.选择进行下载,下载下来为一个压缩包,解压即可。 3.我下载的是jmeter4.0版本,对应jdk1.8。然后就进行解压。 二、Jmeter环境变量相关配置 1.) 电脑桌面----》“计算机”图标----》鼠标右键选择“属性”----...

chegy218的博客 1195

用Quartus II和LPM_ROM手把手复现西电计组课设:从微指令到五条指令的完整流程

本文详细介绍了使用Quartus II和LPM_ROM复现西电计组课设的完整流程,从微指令编写到五条指令的实现。通过环境搭建、LPM_ROM配置、微程序设计及调试技巧,帮助读者高效完成课程设计,避开常见问题。适合计组课程设计的学习者和实践者参考。

weixin_29288313的博客 456

GIS分析-利用K-Means方法进行地震分析

通过“聚类”可以获得有关我们所拥有的数据的各种线索,这是数据挖掘技术之一。分析创建的组有助于决策过程。在这项研究中,我们将使用数据挖掘工具之一的K-Means方法研究安纳托利亚东部地区近100年发生的地震的空间分布,并试图获得有用的信息,以供未来的研究使用。我从局地震目录页面获得了研究所需的地震数据,并从获得了区域边界数据。

gis收藏家的博客 1569

web版本 开源压测工具_分布式压测系列之Jmeter4.0第一季

1)Jmeter4.0介绍jmeter是个纯java编写的开源压测工具,apache旗下的开源软件,一开始是设计为web测试的软件,由于发展迅猛,现在可以压测许多协议比如:http、https、soap、ftp、database数据库、LDAP 轻量目录访问协议、TCP、SOMP(简单邮件协议)等,由于是纯java编写,可以在苹果、window或者Linux下运行,全功能的测试IDE,允许快速的...

weixin_40004081的博客 264

STM32实战——七段数码管动态扫描技术详解

本文详细解析了STM32控制七段数码管的动态扫描技术,包括硬件连接、CubeMX配置及编程实现。通过分时复用原理和优化代码逻辑,实现稳定显示效果,并解决亮度不均、闪烁等常见问题。适合嵌入式开发者快速掌握STM32数码管驱动技术。

weixin_42561143的博客 279

基于Jmeter的性能压测平台实现

很早就想要一套属于自己的性能压测平台,原因是使用了阿里云的性能测试PTS,就挺羡慕能有一个这样的性能测试平台,但毕竟人家的东西我们高攀不起(要钱的),而且阿里云的性能测试平台是不支持多种协议的(比如我有一个项目要用websocket测试,结果人家就支持http压测)。 说到开发自己的性能测试平台,肯定想到的是Jmeter,因为开源的性能测试工具没有比它更强大的了,所以第一个想到的是...

smooth的博客 4万+

Linux安装消息队列IBM MQ 7.5开发版安装配置详解

消息队列IBM MQ 7.5开发版安装配置详解 文章目录消息队列IBM MQ 7.5开发版安装配置详解前言一、什么是IBM MQ?二、安装前准备1、安装前准备2、安装MQ Server3、启动实例4、创建队列一个名为TEXT的队列(测试)5、启动端口监听6、启动成功总结 前言 IBM 已经熟练地优化了 MQ(消息队列),在市场上已有超过 25 年的历史。借助 MQ(消息队列),如果无法立即传递消息,那么会在其等待队列中确保消息安全,直到保证传递为止。竞争产品可能会传递两次消息或根本不传递消息,而 M

zhx__的博客 5164

QT实现串口通信

要实现串口通信,需要知道串口通信需要的信息 主要参数有:波特率、校验位、数据位、停止位、控制流 主要操作有:串口的打开和关闭、刷新设备串口、接发数据、开关显示灯等。 实现效果如图: 最后附赠完整源码。 第一步:在头文件中引入 QtSerialPort 类的两个头文件(必须引入) // 引入串口通信的两个头文件(第一步) #include <QtSerialPort/QSerialPort> // 提供访问串口的功能 #include <QtSerialPo

m0_49456900的博客 6万+

jmeter分布式压测怎么做

由于大量压测需求,在一台测试机器并不能满足我的需求,于是我查询了如何使用jmeter免费开源软件进行分布式压测我先在网上查到了这篇文章, 分布式压测怎么做 - 简书 (jianshu.com)https://www.jianshu.com/p/c4e3670c3cf5按照操作步骤执行: 先找到准备两台测试机:192.168.8.149,192.168.8.148 修改:Jmeter/bin/jmeter.properties 1.控制机+执行机:192.168.8.149:找到”remote_h

qq_33769308的博客 4474

NXP MCU CAN波特率(位时间)配置详解

1. 概述 本文将会详细讲解如何设置NXP MCU的CAN波特率、位时间、采样点等属性。 波特率即CAN总线传输频率,位时间是波特率的倒数,例如波特率是500K,那么位时间 = 1 / 500000 = 0.000002s = 2000ns。 我们先来看一下S32K144单片机的EB中与CAN总线波特率相关的可配置参数有哪些: ...

weixin_42967006的博客 9690

Jmeter 分布式压测

JMeter 分布式执行原理:介绍 JMeter 分布式压测的执行原理,包括 master 和 slave 的角色和工作流程。环境搭建和配置:介绍如何搭建和配置 JMeter 分布式压测环境,包括 master 和 slave 的安装和配置。测试脚本编写:介绍如何编写 JMeter 测试脚本来模拟秒杀场景。执行测试和查看结果:介绍如何执行分布式压测并查看测试结果。要模拟秒杀场景,你需要编写一个 JMeter 测试脚本来模拟用户登录、查看秒杀商品、点击秒杀按钮并下单的过程。

nhb687095的博客 2048

2026年软考高级网络规划设计师第三版备考笔记

删除了所有已退出主流应用、行业淘汰的技术内容,如 HDLC、xDSL、WiMAX、HSRP/GLBP 等,让教材内容更聚焦当下一线网络工程实际场景,剔除无效考点。

鹿鸣天涯 1214

Headless Browser 反检测:如何在自动化测试和爬虫中模拟真实用户环境和指纹,以规避检测?

这是最基本的操作,你需要将 Headless Browser 的 User-Agent 修改成一个真实的 User-Agent。我是你们的老朋友,代码界的段子手,今天咱们来聊聊一个让爬虫工程师和自动化测试工程师头疼,但又不得不面对的问题:Headless Browser 的反检测。Headless Browser 的反检测是一个持续对抗的过程,网站的反爬虫机制会不断升级,你需要不断地学习新的反检测技巧。以上只是一些基本的反检测手段,如果你的目标网站的反爬虫机制比较高级,那么你需要使用更高级的技巧。

weixin_41455464的博客 1657

Jmeter-分布式压测配置及常见问题(一文全)

Jmeter-分布式压测傻瓜式配置及常见问题的解决 参考Jmeter官网内容 http://jmeter.apache.org/usermanual/jmeter_distributed_testing_step_by_step.html jmeter分布压测的原理 1、Jmeter分布式测试时,选择其中一台作为控制机(Controller),其它机器做为代理机(Agent)。 2、执行时,C...

回忆式~过去.的博客 1万+

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

上一篇: 2018年新版本亿级流量系列之Jmeter4.x分布式压测入门到实战-张颜源-专题视频课程...
下一篇: 2018年互联网架构系列全套SpringBoot2.x初级入门到实战-张颜源-专题视频课程
dev666
博客等级 码龄9年 100粉丝 106原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dev666

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值