使用JMeter进行压力测试
使用JMeter进行压力测试(基础篇)
1.启动Jmeter
双击图中所示文件出现如下图所示即启动成功
2 新建测试计划
File------>new
2.1右键新建线程组
add----->Threads(Users)--->Thread Group
2.2设置线程组属性
name和comments
是名称和注释的配置,这里根据自己要测试的场景设置就好,最好是见名知意
Action to be taken after a sampler error
在取样器错误后要执行的操作,也就是说在某一个请求出错后的异常处理方式,有5中方式
Continue, 继续,取样器模拟的请求出错后,继续运行
在大量用户并发请求时,服务器可能会出现错误响应,这属于正常现象,此时要把错误记录下来,继续后面的请求
start next Thread Loop 如果出错,则统一脚本中的剩下的请求将不在执行,直接重新开始,比如有个场景,需要先登录后发文,这个时候如果登录失败了,那么发帖就不会成功,所以没必要继续执行,直接开始下一轮测试就好,此时就可以设置这个错误处理方式。
stop thread 停止线程,如果遇到取样器模拟的某个请求失败,则停止当前线程,不再执行,比如配置了40个线程,某个线程的请求失败,则停止当前线程,剩余的线程继续执行,如果失败的越多,则停止的越多,运行状态的线程就会越来越少,那服务器的负载就会不够,测试结果也不具备参考性了,所一般不设置这个。
stop test 停止测试,如果某一个线程的一个请求失败了,则停止掉所有线程,也就是说测试要停止,但是每个线程任然会执行完当前场景,比如当前场景为登陆发文,有个线程登陆失败,其他线程也执行到了登陆,错误发生后,其他线程还是会继续执行发文操作。
stop test Now 立即停止测试,如果有线程请求失败,则立即停止所有线程,不再继续执行
Thread Properties 线程属性设置
线程数 Number of Threads(users)
运行的线程数设置,一个线程对应一个用户
Ramp-up period(seconds)线程启动开始运行的时间间隔,单位是秒,所有线程在多长时间内开始运行
比如说设置了50个线程,Ramp-up period设置10秒,那么每秒就会启动5个线程,如果设置0秒,那么50线程就会立即启动。
Loop count 请求的重复次数,如果选择infinite,那么请求将会一直执行下去,除非停止或者崩溃,如果选择填入具体次数,那就可以控制循序的次数了。
sam user on each iteration 每次迭代有使用相同的用户,这个配置是5.2版本以后新加的,之前的版本没有这个选项,所以会有一个问题,模拟的用户并不是和真实场景一样是相互独立的,他默认在每个线程中是复用用户,给大家推荐一篇文章https://www.cnblogs.com/nmb123/p/12266697.html
Delay Thread creation until needed
JMeter 所有的线程是一开始就创建完成的,只是递增的时候会按照上面的规则递增。如果选择了这个选项,则不会在一开始创建所有线程,只有在需要时才会创建。
如果不选择,在启动场景时,JMeter 会用更多的 CPU 来创建线程,它会影响前面的一些请求的响应时间,因为压力机的 CPU 在做其他事情嘛。如果选择了的话,就会在使用时再创建,CPU 消耗会平均一些,但是这时会有另一个隐患,就是会稍微影响正在跑的线程
Specify Thread lifetime 线程运行时间,这个配置只有Loop count 请求的重复次数,配置了infinite,才会生效,否则还是Loop count 控制线程的执行
- Duration(seconds)设置线程组运行多长时间,单位是秒
- StartUp delay(seconds)设置线程启动延时时间,单位是秒
3.新建http请求
右击Thread Group Add--->Sampler--->Http Request
3.1设置Web Server
点击运行
4.添加监听结果树
使用JMeter进行压力测试的更多相关文章
- 使用JMeter做压力测试
使用JMeter做压力测试 1.下载Jmeter 地址:http://jmeter.apache.org/download_jmeter.cgi 2.启动jmeter 运行bin/jmeter.bat ...
- 【JMeter】如何用JMeter进行压力测试
[JMeter]如何用JMeter进行压力测试(调试脚本已再猪猪微信的收藏中进行了收藏哦,名字叫exam-wow.jmx) 一.用badboy录制压测过程形成脚本另存为jmeter格式文档. 二.JM ...
- 如何使用Jmeter进行压力测试
Jmeter做压力测试的操作:Jmeter不仅可以做接口测试,还可以做压力测试,下面介绍介绍如何jmeter进行简单地压力测试.具体步骤如下: 第一步:添加请求,这里不介绍具体步骤,详见(https: ...
- Jmeter服务器压力测试使用说明
Jmeter服务器压力测试使用说明 Apache JMeter是Apache组织开发的基于Java的压力测试工具. 官方地址:http://jmeter.apache.org/download_jme ...
- linux环境下使用jmeter进行压力测试
linux环境下使用jmeter进行压力测试 linux环境下使用就meter进行压力测试: linux环境部署: 在Linux服务器先安装jdk: 2.以jdk-8u172-linux-x64.ta ...
- 学习使用Jmeter做压力测试(一)--压力测试基本概念
学习使用Jmeter做压力测试(一)--压力测试基本概念 一.性能测试的概念 性能测试是通过自动化的测试工具模拟多种正常峰值及异常负载条件来对系统的各项性能指标进行测试.负载测试和压力测试都属于性能测 ...
- linux上实现jmeter分布式压力测试(转)
摘要:最近根据公司工作的需求,学习了一些压力测试的知识,目前,公司使用的是jmeter进行压力测试.下面就记录下近期的学习.我想将这次的博文分成三个部分:1.开始测试前的准备(测试环境的搭建)2.在一 ...
- 性能测试工具 jmeter 分布式压力测试实操
性能测试工具 jmeter 分布式压力测试实操 本文在Non-GUI Mode下进行,准备好三台有jdk环境,linux操作系统,同一局域网测试机器,运行两台slave,一台master机器,进行分布 ...
- 使用jmeter进行压力测试与nginx连接数优化
案例训练目标 学会使用jmeter工具 学会配置nginx连接数优化 包含技能点 使用jmeter做压力测试 配置nginx的并发连接数 环境要求 PC支持VT,4G内存以上:vmware虚拟机安装有 ...
随机推荐
- 真香!Python开发工程师都选择这个数据库:因为它免费
数据库类别 既然我们要使用关系数据库,就必须选择一个关系数据库. 目前广泛使用的关系数据库也就这么几种: 付费的商用数据库: Oracle,典型的高富帅: SQL Server,微软自家产品,Wind ...
- charles 常用功能(八)重定向
1.点击鼠标右键 点击保存就保存到桌面上了 效果图 在123.txt中修改 然后另存为 点击红圈处 然后再次发送请求
- PyQt(Python+Qt)学习随笔:QTreeWidgetItem项子项展开相关方法
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 树型部件QTreeWidget中的QTreeWidgetItem项如果一个项有子项,可以调用setE ...
- Azure Cosmos DB (五) .Net Core 控制台应用
一,引言 之前在讲Azure CosmosDB Core(SQL)核心的时候,使用了EF Core 的方式,引用了 "Microsoft.EntityFrameworkCore.Cosmos ...
- Panda 交易所快报 央行数字货币测试进入C端流量入口
近年来,央行数字货币的研发进展备受市场关注.近期,Panda 交易所注意,央行数字货币研究所与滴滴出行已达成战略合作协议,共同研究探索数字人民币在智慧出行领域的场景创新和应用.此外,Panda 交易所 ...
- 笔记-Cats Transport<已写题解>
笔记-Cats Transport Cats Transport 令 \(D_i=\sum_{j=1}^id_i\),\(T_i=t_i-D_{h_i}\). 为 \(T_i\) 从小到大排序,令 \ ...
- 记一次storm提交任务遇到的坑
摘要:主要是自己没有真正理解storm jar命令参数的意义. 情景复现: 在storm集群中使用命令提交后,在UI界面中,一直看不见任务提交上来的任务,但是在集群提交的shell界面中,是可以看到相 ...
- 前端js部署
1 执行命令 cnpm run build 2.2 提取dist静态资源 将静态资源放置后端static下 /static文件是django后端的部署文件夹 3 Nginx写入配置文件 写入etc ...
- IOS开发中实现UITableView按照首字母将集合进行检索分组
在开发公司项目中遇到了将图书目录进行按照首字母分组排序的问题 1.在项目添加解析汉字拼音的Pinyin.h文件 /* * pinyin.c */ #define HANZI_START 19968 # ...
- MySQL-常见小疑惑
1. DISTINCT 多列去重 1.1 select DISTINCT a,b 实际含义是? 正确:排除 (a列重复且b列重复)的记录 错误:排除 a b两列 值合并后 重复的记录. 举例1: 去 ...