基于jmeter的性能全流程测试

做性能测试的步骤

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格式的文件

jmeter模拟性能测试场景

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

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

1、吞吐量控制器

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

图片

2、设置兵法线程数,循环次数,持续时间

持续时间即,这个jmeter脚本持续循环跑多长时间停止

图片

3、聚合报告

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

图片

4、生成随机数

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

图片

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

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文件即可看到对应报告了

图片

图片

nmon导出服务器监控报告

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

链接:https://pan.baidu.com/s/1Qj4Oesl6WoFoRDh7gd5NDg

提取码:3ip0

2、导出nmon报告

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

图片

图片

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

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

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

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

相关文章

Android之高级UI

系统ViewGroup原理解析 常见的布局容器: FrameLayout, LinearLayout,RelativeLayoout,GridLayout 后起之秀:ConstraintLayout,CoordinateLayout Linearlayout Overrideprotected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {if (mOrientation …

STK Components 二次开发-地面站传感器

上一篇我们说了创建地面站,那么这次我们在地面站添加一些特效。 1. 创建地面站 var locationPoint1 new PointCartographic(m_earth, new Cartographic(Trig.DegreesToRadians(117.17066), Trig.DegreesToRadians(31.84056), 240.359)); m_facility new Platfor…

【论文解读】Real-ESRGAN:使用纯合成数据训练真实世界的超分辨率图像

图一是4种超分方法的对比效果 。 0 摘要 尽管在盲超分辨率方面已经进行了许多尝试,以恢复具有未知和复杂退化的低分辨率图像,但它们仍然远远不能解决一般的真实世界退化图像。在这项工作中,我们将强大的 ESRGAN 扩展到一个实际的恢复应用程序…

Retrofit怎么返回一个JSON字符串?

项目用已经使用了 Retrofit,定义了接口方法,返回了 JSON 转换后的实体对象,炒鸡方便。但是总有意料之外的时候,比如我不需要返回实体对象,我要返回纯纯的 JSON 字符串,怎么办呢? 先看源码 通过…

什么是半监督学习

1 概述 1.1 定义 半监督学习(Semi-Supervised Learning)是机器学习中的一个重要分支,它介于监督学习和无监督学习之间。半监督学习利用少量标注数据和大量未标注数据共同训练模型,旨在充分挖掘未标注数据中潜在的信息和模式&…

【数据库】缓冲区管理器结构,几种常用替换策略分析,pin钉住缓冲区块防止错误的替换,以及缓冲区管理带来的代价优化

缓冲区管理 ​专栏内容: 手写数据库toadb 本专栏主要介绍如何从零开发,开发的步骤,以及开发过程中的涉及的原理,遇到的问题等,让大家能跟上并且可以一起开发,让每个需要的人成为参与者。 本专栏会定期更新&…

【算法】装备合成(二分)

链接:登录—专业IT笔试面试备考平台_牛客网 来源:牛客网 题目描述 牛牛有x件材料a和y件材料b,用2件材料a和3件材料b可以合成一件装备,用4件材料a和1件材料b也可以合成一件装备。牛牛想要最大化合成的装备的数量,于是…

重新开启GPT Plus充值通道——基于前端开发者工具

chatGPT PLUS充值通道的关闭 由于chatGPT用户激增,近日,OpenAI的CEO Sam Altman宣布需要暂停新用户对ChatGPT Plus的订阅。在X上,他表达了对于确保用户体验的承诺,同时也提到了用户可以通过应用程序内的通知功能来了解服务恢复的…

代码随想录算法训练营 ---第四十五天

前言: 昨天的题做过之后,今天的题基本上都很简单,但是要注重一下细节。 第一题: 简介: 动态规划五部曲: 1.确定dp数组的含义 dp[i]:爬到有i个台阶的楼顶,有dp[i]种方法 2.确定dp…

常见指令的数据通路和执行过程

作此篇的原因是17年19题: 本题选A,做的时候总感觉不够通透,因此把这题涉及到的内容全部看了一遍,顿时没有那种朦胧感了 零、五段式流水线: 以下均为MIPS设定:指令长度为32位,主存按字节编址&a…

Echarts 最简单创建柱状图

设置容器 <div ref"myChart" style"width: 500px; height: 500px;"> </div>mounted() {//document渲染完成this.draw()}draw() {const myChart this.$echarts.init(this.$refs.myChart)//初始化对象myChart.setOption({ //参数配置项title: …

探索接口测试:SOAP、RestFul规则、JMeter及市面上的接口测试工具

引言 在当今软件开发领域&#xff0c;接口测试扮演着至关重要的角色。随着系统变得日益复杂和互联&#xff0c;对于内部和外部接口的测试变得愈发关键。接口测试不仅仅是验证接口的正确性&#xff0c;更是确保系统的稳定性、安全性和性能优越性的关键一环。 本篇博客将带您深入…

[Linux]进程等待

文章目录 3.进程等待3.1什么是进程等待3.2为什么要进程等待3.3如何进行进程等待?1.wait2.waitpid2.1函数的讲解2.2status的理解2.3代码理解 3.4学后而思1.直接用全局变量获取子进程退出码可以吗?如下2.进程具有独立性 退出码是子进程的数据 父进程是如何拿到退出码的3.对内存…

云匣子 FastJson反序列化RCE漏洞复现

0x01 产品简介 云匣子是租户连接云资源的安全管理工具&#xff0c;帮助云租户更加安全、精细的管理云上的虚拟机、数据库等资源。 云安宝结合多年的运维和安全实践&#xff0c;将云上的运维和安全有机结合&#xff0c;实现对运维过程的事前规划、事中控制和 事后审计。在此之上…

nodejs微信小程序+python+PHP-婚纱摄影预约系统的设计与实现-安卓-计算机毕业设计

目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1 nodejs简介 4 2.2 express框架介绍 6 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性&#xff1a;…

Linuxfork,写时拷贝

1.prinf隐藏的缓冲区 1.思考:为什么会有缓冲区的存在? 2.演示及思考? 1).演示缓存区没有存在感 那为什么我们感觉不到缓冲区的存在呢?我们要打印东西直接就打印了呢? 我们用代码演示一下: 比如打开一个main.c,输入内容如下: #include <stdio.h> int main() { …

LLaMA 2:开源的预训练和微调语言模型推理引擎 | 开源日报 No.86

facebookresearch/llama Stars: 36.0k License: NOASSERTION LLaMA 2 是一个开源项目&#xff0c;用于加载 LLaMA 模型并进行推理。 该项目的主要功能是提供预训练和微调后的 LLaMA 语言模型的权重和起始代码。这些模型参数范围从 7B 到 70B 不等。 以下是该项目的关键特性…

kubernetes架构及核心组件简单介绍

目录 整体架构控制面kube-apiserver访问控制通知 kube-scheduler概述默认调度策略 kube-controller-manageretcd架构Raft协议日志复制 数据面kubeletkube-proxy 整体架构 集群架构图 控制面 控制面是kubernetes的核心组件&#xff0c;负责管理和控制集群的整体行为&#xf…

jdk17安装全方位手把手安装教程 / 已有jdk8了,安装JDK17后如何配置环境变量 / 多个不同版本的JDK,如何配置环境变量?

&#x1f9f8;欢迎来到dream_ready的博客&#xff0c;&#x1f4dc;相信您对博主首页也很感兴趣o (ˉ▽ˉ&#xff1b;) 学生邮箱白嫖/免费安装JetBrains全家桶(IDEA/pycharm等) —— 保姆级教程 目录 1、下载jdk17 2、安装jdk17 3、配置环境变量 -> 电脑无其他jdk 4、…

Echarts title标题配置项的使用 更改颜色 副标题

title配置项主要是对图表的标题进行配置 title配置项所有属性文档 title&#xff1a; { ...... }设置标题 副标题 text: 简单创建柱形图,//图表标题 subtext: 副标题,如果想对副标题设置 超链接 边框 颜色 宽度…等 比如&#xff1a;设置超链接 sublink:‘…’, 设置标题位置…