性能测试 —— 生成html测试报告、参数化、jvm监控

1.生成HTML的测试报告

1.1配置

(1)找到jmeter 的安装目录,下的bin中的jmeter.properties(jmeter配置文件)

(2) ctrl +f ,搜索jmeter.save.saveservice.output_format,取消井号 并且 把等号后的xml改为csv,点击保存

1.2生成

(1)在jmeter的安装目录下,新建tests文件夹,在tests文件夹中新建script和report文件夹,script是放脚本的,report是放测试报告的,把jmeter脚本放入script。

(2) 在cmd中 进入 tests目录:

(3)再执行命令:

jmeter -n -t script/一码通.jmx -l api.jtl -e -o performanceReport/

命令:

a .指定 生成测试脚本是script下的一码通.jmx,性能测试的数据会写到api.jtl中,然后解析成html报告

  b .其中 “一码通” “api” “performanceReport”都是自定义的

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:110685036

1.3查看报告

(1)回到tests下可以看到performanceReport目录:

(2)进入目录看到html的测试报告:

注意:

(1)再一次使用命令生成htlm的测试报告时,要把之前的performanceReport文件和api.jtl进行删除。

(2)测试脚本是要保存到tests下的script中。

(3)测试脚本如果改名字了,要把命令的名字也修改。

2.参数化

一个用户登录很多次和多个用户登录一次的区别:

这两个操作的结果是不同的。牵扯到一个缓存的问题。

缓存: 核酸检查为例,第一次获取24小时核酸检测的结果,客户端真实的向服务端发送请求来获取数据,后面在24小时以内查询,都不会获取,直接使用缓存的数据。

2.1模拟并发登录:

参数化: 在客户端模拟向服务端发送请求的过程中模拟不同的数据。

(1)配置元件——CSV数据文件设置

(2)造数据:

(3)设置CSV数据文件设置

(4)在登录请求参数中,调用定义的变量

(5)设置线程数

(6)执行,六次登录的请求参数都是不同的(模拟了六个用户的登录)

性能测试中针对登录你是怎么测试的?

首先需要明确的是登录的性能测试目标,也就是每秒并发多少个用户同时登录系统,在目标的基础上,造具体的登录系统的用户数据。因为在测试中每秒并发登录使用的是不同的用户登录。

3.JVM监控

主流语言:

Java:sun 企业级市场占据绝对性的优势,特别是在新的架构模式下,它的技术组件非常完善。

Go:Google,Go是随着k8s,容器技术而流行的语言。字节跳动里面的测试开发必须要懂go语言

Python:在大数据领域,数据分析领域,机器学习领域非常具备优势。

C,C++:底层操作系统,以及驱动。

Net,C#:

使用Java语言开发的产品,普遍存在OOM问题。

Java是一个跨平台(Linux,unix,windows)的语言,具体的来说就是在某一个平台编写的代码,能够在其他的平台上也是能够执行的。

JVM监控工具主要监控Java应用程序是否会内存泄露,当然也可以监控该Java应用程序的CPU资源。比如该服务分配了0.1C的CPU,200M的内存,那么当内存使用率达到200或者是超过200M,这个时候就内存泄露。

(1)启动java应用程序

a.把jar包放到桌面

b.从cmd中进入桌面

c.启动java应用程序: java -jar 包名

Java程序部署:

1、使用maven打包成.jar的文件,然后使用如下命令来启动: java -jar xxx.jar

2、使用maven打包成.war的文件,然后使用如下命令来启动 java -jar xxx.war

(开发给jar包或者war包,都使用这个命令部署)

(2)打开jvisualvm

a.重新打开一个控制台,输入jvisualvm:

b. 出现如下界面,点击这个jar包,再点击监视,就可以看到对这个应用程序的监控:

c.通过jmeter,向这个应用程序发送请求:

d.观察jvm的变化:

Java语言写的那些程序容易内存泄露:

使用到文件读写的,比如淘宝的下发优惠劵;文件上传,文件下载,文件传输。

如果内存泄露了,怎么办?

我们返回给开发,开发修改后,我们继续使用原来的配置和数据、步骤来进行测试,验证问题是否修改完毕。

JVM监控工具怎么用的?

监控cpu、内存,主要关注是否内存泄漏,好的内存情况应该是呈正态分布的。

敲字不易,如果此文章对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。

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

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

相关文章

nvm、node、npm解决问题过程记录

在Windows10如何降级Node.js版本:可以尝试将Node.js版本降级到一个较旧的版本,以查看问题是否得以解决。可以使用Node Version Manager (nvm) 来轻松切换Node.js版本,具体完整步骤: 首先,需要安装Node Version Manager…

leetCode 583.两个字符串的删除操作 动态规划 + 优化空间复杂度(二维dp、一维dp)

583. 两个字符串的删除操作 - 力扣(LeetCode) 给定两个单词 word1 和 word2 ,返回使得 word1 和 word2 相同所需的最小步数。 每步 可以删除任意一个字符串中的一个字符。 示例 1: 输入: word1 "sea", word2 &qu…

后厂村路灯在线签名网站,在线签名工具,IPA在线签名

IPA在线签名工具网站,在线实现IPA包签名 案例网站:在线签名 - 后厂村路灯https://sign.vx365.vip/ 用户可以自定义签名网站样式。 用户可以独立部署到自己服务器,使用自己的域名。 用户可以使用自己服务器,加快签名速度&#xf…

TypeScript React(上)

目录 扩展学习资料 TypeScript设计原则 TypeScript基础 语法基础 变量声明 JavaScript声明变量 TypeScript声明变量 示例 接口 (标准类型-Interface) 类型别名-Type 接口 VS 类型别名 类型断言:欺骗TS&#xff0c;肯定数据符合结构 泛型、<大写字母> 扩展学习…

Golang 实现接口和继承

小猴子继承了老猴子&#xff0c;这样老猴子拥有的能力包括字段&#xff0c;方法就会自动的被老猴子继承。 小猴子不需要做任何处理就可以拿到老猴子的字段和它的方法&#xff0c;因为是继承关系。 但是小猴子还会其他的技能&#xff0c;比如还会像小鸟一样飞翔&#xff0c;希…

LeetCode34 在排序数组中寻找元素的第一个和最后一个位置

题目&#xff1a; 思路&#xff1a; https://blog.csdn.net/wangjiaqi333/article/details/124526112 直观的思路肯定是从前往后遍历一遍。用两个变量记录第一次和最后一次遇见target的下标&#xff0c;但这个方法的时间复杂度为O(n)&#xff0c;没有利用到数组升序排列的条件…

TensorFlow入门(二十一、softmax算法与损失函数)

在实际使用softmax计算loss时,有一些关键地方与具体用法需要注意: 交叉熵是十分常用的,且在TensorFlow中被封装成了多个版本。多版本中,有的公式里直接带了交叉熵,有的需要自己单独手写公式求出。如果区分不清楚,在构建模型时,一旦出现问题将很难分析是模型的问题还是交叉熵的使…

虹科科技 | 探索CAN通信世界:PCAN-Explorer 6软件的功能与应用

CAN&#xff08;Controller Area Network&#xff09;总线是一种广泛应用于汽车和工业领域的通信协议&#xff0c;用于实时数据传输和设备之间的通信。而虹科的PCAN-Explorer 6软件是一款功能强大的CAN总线分析工具&#xff0c;为开发人员提供了丰富的功能和灵活性。本文将重点…

Swagger3.0 与spring boot2.7x 整合避免swagger2.0与boot2.7冲突

注释掉2.0引入的俩包 直接引入3.0 <dependency><groupId>io.springfox</groupId><artifactId>springfox-boot-starter</artifactId><version>3.0.0</version></dependency> swagger配置文件粘贴即用哦 import org.springfram…

JVM 性能调优参数

JVM分为堆内存和非堆内存 堆的内存分配用-Xms和-Xmx -Xms分配堆最小内存&#xff0c;默认为物理内存的1/64&#xff1b; -Xmx分配最大内存&#xff0c;默认为物理内存的1/4。 非堆内存分配用-XX:PermSize和-XX:MaxPermSize -XX:PermSize分配非堆最小内存&#xff0c;默认为物理…

【小巧玲珑】文件太大,怎么办?分卷压缩技术了解下,这才是压缩技术

【小巧玲珑】文件太大&#xff0c;怎么办&#xff1f;分卷压缩技术了解下&#xff0c;这才是压缩技术 1、痛点2、场景重现2.1 jar包2.1 ZIP压缩 3、压缩步骤3.1 新建压缩文件3.2 压缩结果 4、解压步骤5、效果6、jar压缩算法 1、痛点 通过浏览器客户端访问云服务&#xff0c;文…

计算机毕业设计选什么题目好?springboot 健身房管理系统

✍✍计算机编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java实战 |…