基于jmeter的性能全流程测试

news/发布时间2024/5/15 11:46:51

01、做性能测试的步骤

1、服务器性能监控

首先要在对应服务器上面安装性能监控工具,比如linux系统下的服务器,可以选择nmon或者其他的监控工具,然后在jmeter模拟场景跑脚本的时候,同时启动监控工具,这样就可以获得jmeter的聚合报告和服务器的性能报告,然后分析这两份报告,得到性能测试的结果。(如果有应用服务器,还要数据库服务器,那么这几台都要监控)

常用命令:

nmon -s 1 -c 1800 -f -m /usr/local/src/nmon/logs

以上命令是持续监控1800s的意思,如果nmon是按照笔者前面的文档配置的,并且路径也是一样的,那么可以连接服务器以后,在服务器任意路径输入该命令都可以启动监控,启动监控以后开始同时执行jmeter脚本即可,服务器的监控报告会在/usr/local/src/nmon/logs这个路径中,是.nmon格式的文件

02、jmeter模拟性能测试场景

一般是模拟一套业务流程,从登录>录入数据>计算报表,类似这样的场景,然后模拟多并发,持续循环该场景,测试稳定性等。

如果前面jmeter调用关联接口以及掌握,那么做只需要再掌握以下几点:

1、吞吐量控制器
当需要模拟混合业务场景的时候,需要用到吞吐量控制器,比如多并发时,一半的用户在模拟计算报表的场景,一半的用户在模拟指标试算的场景,那么用吞吐量控制器设置百分比即可,如下图:

2、设置兵法线程数,循环次数,持续时间
持续时间即,这个jmeter脚本持续循环跑多长时间停止

3、聚合报告
此处要填上聚合报告保存的路径,文件格式是.jtl,方便后续导出(建议报告存放在jmeter安装路径的bin文件夹内)

4、生成随机数
有一些场景,会遇到需要随机录入数据并保存的场景,此时也可以用函数助手,选择Random函数,输入随机范围,并点击生成随机参数,然后将对应接口的入参替换为刚刚生成的随机参数,如下图:(函数助手有随机数字还有随机字符等等,可以视自己的需要选择对应的函数)

掌握以上,基本可以做简单的压力测试了,对于模拟混合场景,一个线程里面要调用多个接口,有时候会碰到接口一直轮循,直到满足某个条件才停止的情况,轮循的接口平均间隔一秒调用一次,等等,如果遇上如上的情况,可能用到固定定时器,while循环控制器,BeanShell后置处理程序等,或者其他jmeter的元件,需要对应去学习

03、jmeter导出html格式的聚合报告

在开始处搜索“cmd”,以管理员身份打开命令操作符,然后切换到jmeter安装路径的bin文件夹中,实例如下:

cd/d E:\apache-jmeter-5.3\bin

然后导出html报告(文件名和路径要与jmeter聚合报告存放的地址一致)

jmeter -g ./testreport/202007141422.jtl -o ./testreport/202007141422

然后进入到 .jtl所在文件路径打开如下的html文件即可看到对应报告了

04、nmon导出服务器监控报告

1、安装nmon报告解析工具nmon_analyser_v52_1,直接解压就可以使用

2、导出nmon报告
从测试服务器上,把监控文件下载到本地,然后解压zip包,打开nmon analyser v52_1.xlsm文件(需要启用宏),点击这个按钮,选择.nmon格式的报告,然后会自动生成一个同名的.xlsx文件,该文件就是解析出来的报告了

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你! 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.bcls.cn/Jbsg/7898.shtml

如若内容造成侵权/违法违规/事实不符,请联系编程老四网进行投诉反馈email:xxxxxxxx@qq.com,一经查实,立即删除!

相关文章

【简写Mybatis】02-注册机的实现以及SqlSession处理

前言 注意: 学习源码一定一定不要太关注代码的编写,而是注意代码实现思想: 通过设问方式来体现代码中的思想;方法:5W1H 源代码:https://gitee.com/xbhog/mybatis-xbhog;https://github.com/xbh…

JavaWeb个人学习01

1:RequestParam(defaultValue "默认的值") 这个可以在一个参数的前面写上 要是前端不传值进来的话 这个形参就是你定义的默认值 2: slf4j 对应的是日志的输出 log.info("参数是 {}", detail); 3: 分页插件 PageHelper 用法: 准备工作: 引入依赖 …

Vue3前端实现一个本地消息队列(MQ), 让消息延迟消费或者做缓存

MQ功能实现的具体代码(TsMQ.ts): import { v4 as uuidx } from uuid;import emitter from /utils/mitt// 消息类 class Message {// 过期时间,0表示马上就消费exp: number;// 消费标识,避免重复消费tag : string;// 消息体body : any;constr…

HarmonyOS—低代码开发Demo示例

接下来为大家展示一个低代码开发的JS工程的Demo示例,使用低代码开发如下华为手机介绍列表的HarmonyOS应用/服务示例。 1.删除模板页面中的控件后,选中组件栏中的List组件,将其拖至中央画布区域,松开鼠标,实现一个List组…

kubectl使用及源码阅读

目录 概述实践样例yaml 中的必须字段 kubectl 代码原理kubectl 命令行设置pprof 抓取火焰图kubectl 中的 cobra 七大分组命令kubectl createcreateCmd中的builder模式createCmd中的visitor访问者模式外层VisitorFunc分析 结束 概述 k8s 版本 v1.24.16 kubectl的职责 1.主要的…

CAD怎么绘制建筑平面图纸?

CAD沪指图纸很简单,想要绘制一个简单的建筑图纸,该怎么绘制建筑平面图呢?下面我们就来看看详细的教程。 1、首先,运用绘图功能中的直线按照比例尺寸绘制出轴网。轴网绘制我们一般将轴网的颜色选择为红色,轴网的线型选择…

win11家庭版安装Docker启动一直Starting the Docker Engine...

越多越多的应用通过Docker方式来运行,确实Docker方式运行也很方便,都是一个独立的运行环境,部署也很方便。于是决定安装下Docker试试,之前用Docker的时候还是win10,现在win11了。 安装倒是可以安装上,但是…

常见的音频与视频格式

本专栏是汇集了一些HTML常常被遗忘的知识,这里算是温故而知新,往往这些零碎的知识点,在你开发中能起到炸惊效果。我们每个人都没有过目不忘,过久不忘的本事,就让这一点点知识慢慢渗透你的脑海。 本专栏的风格是力求简洁…

打印水仙花数---c语言刷题

欢迎关注个人主页:逸狼 创造不易,可以点点赞吗~ 如有错误,欢迎指出~ 题述 求出0~100000之间的所有“水仙花数”并输出。 “水仙花数”是指一个n位数,其各位数字的n次方之和确好等于该数本身,如:153&#…

Acwing周赛记录

很难得参加一次周赛hhhhh这次参加的是第144场周赛,一共有三道题 AcWing 5473. 简单数对推理 给定两个整数数对,每个数对都包含两个 1∼9 之间的不同整数。 这两个数对恰好包含一个公共数,即恰好有一个整数同时包含于这两个数对。 给定这两…

安全防御综合实验

需求: 1、办公区设备可以通过电信链路和移动链路上网(多对多的NAT,并且需要保留一个公网IP不能用来转换) 2、分公司设备可以通过总公司的移动链路和电信链路访问DMZ区的http服务器 3、分公司内部的客户端可以通过公网地址访问到…

SQL进阶(三):Join 小技巧:提升数据的处理速度

复杂数据结构处理:Join 小技巧:提升数据的处理速度 本文是在原本sql闯关的基础上总结得来,加入了自己的理解以及疑问解答(by GPT4) 原活动链接 用到的数据:链接 提取码:l03e 目录 1. 课前小问…

No matching version found for get-symbol-description@^1.0.2前端项目报错解决(亲测可用)

目录 一、问题详情 二、解决方案 一、问题详情 拉取一个新的项目的时候,前端进行install依赖的时候,报了如下的错误。 6120 verbose node v16.15.1 6121 verbose npm v8.11.0 6122 error code ETARGET 6123 error notarget No matching version foun…

基于qt的图书管理系统----04sql功能开发

参考b站:视频连接 源码github:github 目录 1 封装一个全局的对象2 设计所有接口2.1 初始化数据库接口2.2 登陆接口2.3 条件查询用户接口 1 封装一个全局的对象 新建一个cclass,sqlmange,并且在.pro文件中添加上sql 使用c单例模…

基于R语言的Meta分析【全流程、不确定性分析】方法与Meta机器学习技术应用

Meta分析是针对某一科研问题,根据明确的搜索策略、选择筛选文献标准、采用严格的评价方法,对来源不同的研究成果进行收集、合并及定量统计分析的方法,最早出现于“循证医学”,现已广泛应用于农林生态,资源环境等方面。…

ChatGPT/GPT4科研应用与AI绘图及论文写作

2023年随着OpenAI开发者大会的召开,最重磅更新当属GPTs,多模态API,未来自定义专属的GPT。微软创始人比尔盖茨称ChatGPT的出现有着重大历史意义,不亚于互联网和个人电脑的问世。360创始人周鸿祎认为未来各行各业如果不能搭上这班车…

接口自动化测试用例如何设计

说到自动化测试,或者说接口自动化测试,多数人的第一反应是该用什么工具,比如:Python Requests、Java HttpClient、Apifox、MeterSphere、自研的自动化平台等。大家似乎更关注的是哪个工具更优秀,甚至出现“ 做平台的 &…

C++ //练习 9.16 重写上一题的程序,比较一个list<int>中的元素和一个vector<int>中的元素。

C Primer(第5版) 练习 9.16 练习 9.16 重写上一题的程序,比较一个list中的元素和一个vector中的元素。 环境:Linux Ubuntu(云服务器) 工具:vim 代码块 /**********************************…

(九)springmvc+mybatis+dubbo+zookeeper分布式架构 整合 - maven构建ant-framework核心代码Base封装

今天重点讲解的是ant-framework核心代码Base封装过程。 因为涉及到springmvc、mybatis的集成,为了使项目编码更简洁易用,这边将基础的BASE进行封装,其中包括:BaseBean、BaseDao、BaseService、CRUD的基础封装、分页组件的封装、m…

【数据结构】深入探讨二叉树的遍历和分治思想(一)

🚩纸上得来终觉浅, 绝知此事要躬行。 🌟主页:June-Frost 🚀专栏:数据结构 🔥该文章主要讲述二叉树的递归结构及分治算法的思想。 目录: 🌍前言:🌍…
推荐文章