测试老鸟经验总结,Jmeter性能测试-重要指标与性能结果分析(超细)

news2024/11/24 7:20:02

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

11

Aggregate Report 是 JMeter 常用的一个 Listener,中文被翻译为“聚合报告

如果大家都是做Web应用的性能测试,例如只有一个登录的请求,那么在Aggregate Report中,会显示一行数据,共有10个字段,含义分别如下。

1、Lable:每个Jmeter的element(例如Http Request)都有一个Name属性,这里显示就是Name属性的值

2、Samples:表示这次测试一共发出了多少次请求,如果模拟10用户,每个用户迭代10次,那么这里显示100

3、Average:平均响应时间–默认情况下是单个Request的平均时间,当使用了Transaction Controller时,也可以以Transaction为单位显示平均响应时间

4、Median:50%用户响应时间
5、90%Line:90%用户的响应时间
6、Min:最小响应时间
7、Max:最大响应时间
8、Error%:本次测试出现错误的请求的数量/请求总数

9、Troughput:吞吐量—默认情况下表示每秒完成的请求数量(Request per second),当使用了Transaction Controller时,也可以表示类似Loadruner的Transaction per second数

10、KB/Sec:每秒从服务器端接收的数量,相当于Loadrunner的Throughput/Sec

描述性统计与性能结果分析

疑惑点:90%响应时间是什么意思?这个值在进行性能分析时有什么作用?

为什么要有90%用户响应时间?
因为在评估一次测试的结果时,仅仅有平均事务响应时间是不够的。为什么这么说?

你可以试着想想,是否平均事务响应时间满足了性能需求就表示系统的性能已经满足了绝大多数用户的要求?

假如有两组测试结果,响应时间分别是 {1,3,5,10,16} 和 {5,6,7,8,9},它们的平均值都是7,你认为哪次测试的结果更理想?

假如有一次测试,总共有100个请求被响应,其中最小响应时间为0.02秒,最大响应时间为110秒,平均事务响应时间为4.7秒,你会不会想到最小和最大响应时间如此大的偏差是否会导致平均值本身并不可信?

12

在上面这个表中包含了几个不同的列,其含义如下:

CmdID:测试时被请求的页面
NUM:响应成功的请求数量
MEAN:所有成功的请求的响应时间的平均值
STD DEV:标准差
MIN: 响应时间的最小值
50 th(60/70/80/90/95 th):如果把响应时间从小到大顺序排序,那么50%的请求的响应时间在这个范围之内。后面的60/70/80/90/95 th 也是同样的含义
MAX:响应时间的最大值

性能测试小结

1、90%用户响应时间在 LoadRunner中是可以设置的,你可以改为80%或95%;

2、对于这个表,LoadRunner中是没有直接提供的,你可以把LR中的原始数据导出到Excel中,并使用Excel中的PERCENTILE 函数很简单的算出不同百分比用户请求的响应时间分布情况;

3、(重点)从上面的表中来看,对于Home Page来说,平均事务响应时间(MEAN)只同70%用户响应时间相一致。

也就是说假如我们确定Home Page的响应时间应该在5秒内,那么从平均事务响应时间来看是满足的,但是实际上有10-20%的用户请求的响应时间是大于这个值的;

对于Page 1也是一样,假如我们确定对于Page 1 的请求应该在3秒内得到响应,虽然平均事务响应时间是满足要求的,但是实际上有20-30%的用户请求的响应时间是超过了我们的要求的;

4、你可以在95 th之后继续添加96/ 97/ 98/ 99/ 99.9/ 99.99 th,并利用Excel的图表功能画一条曲线,来更加清晰表现出系统响应时间的分布情况。

这时候你也许会发现,那个最大值的出现几率只不过是千分之一甚至万分之一,而且99%的用户请求的响应时间都是在性能需求所定义的范围之内的;

5、 如果你想使用这种方法来评估系统的性能,一个推荐的做法是尽可能让你的测试场景运行的时间长一些,因为当你获得的测试数据越多,这个响应时间的分布曲线就越接近真实情况;

6、在确定性能需求时,你可以用平均事务响应时间来衡量系统的性能,也可以用90%或95%用户响应时间来作为度量标准,它们并不冲突。

实际上,在定义某些系统的性能需求时,一定范围内的请求失败也是可以被接受的;

7、上面提到的这些内容其实是与工具无关的,只要你可以得到原始的响应时间记录,无论是使用LoadRunner还是JMeter或者OpenSTA,你都可以用这些方法和思路来评估你的系统的性能。

聚合报告中的,吞吐量=完成的transaction数/完成这些transaction数所需要的时间;

平均响应时间=所有响应时间的总和/完成的transaction数;
失败率=失败的个数/transaction数总的来说,对于jmeter的结果分析,主要就是对jtl文件中原始数据的整理。

8、TestPlan :是整个Jmeter测试执行的容器
9、ThreadGroup :模拟请求,定义线程数、Ramp-Up Period、循环次数。
10、Step1 :循环控制器 ,控制Sample的执行次数。

11、怎样计算Ramp-up period时间?
Ramp-up period是指每个请求发生的总时间间隔,单位是秒。
如果Number of Threads设置为5,而Ramp-up period是10,那么每个请求之间的间隔就是10/5,也就是2秒。
Ramp-up period设置为0,就是同时并发请求。

12、为什么Aggregate Report结果中的Total值不是真正的总和?
JMeter给结果中total的定义是并不完全指总和,为了方便使用,它的值表现了所在列的代表值,比如min值,它的total就是所在列的最小值。

13、在运行结果中为何有rate为N/A的情况出现?
可能因为JMeter自身问题造成,再次运行可以得到正确结果。

14、在使用JMeter测试时,是完全模拟用户操作么?造成的结果也和用户操作完全相同么?

是的。JMeter完全模拟用户操作,所以操作记录会全部写入DB.在运行失败时,可能会产生错误数据,这就取决于脚本检查是否严谨,否则错误数据也会进入DB,给程序运行带来很多麻烦。

小心缓存(类似查询接口压测,先问问有没有做缓存);
瓶颈处持续压测,测试系统稳定性;
线上真实的一模一样的环境配置;
缓存洞穿,持续压测/去缓存压测/有缓存压测;

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

奋斗是一种态度,成功是一种选择。不论遇到多大困难,不抛弃、不放弃,坚持追求梦想的信念。每一次努力都是改变命运的机会,相信自己的力量,勇往直前!

生命不息,奋斗不止。燃烧心中的激情,追寻内心的渴望。困难只是暂时的,坚持是永恒的力量。拥抱挑战,超越极限,只要敢于去追逐,成功必将属于你!

不要因为失败而停下脚步,而是因为脚步而改变未来。勇敢面对挑战,坚持自己的梦想,相信自己的实力。每一次努力都是收获的种子,不断奋斗。

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

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

相关文章

【福建事业单位-数学运算】03经济利润-排列组合与概率

【福建事业单位-数学运算】03经济利润-排列组合与概率 一、经济利润1.1常规经济——考的多、难具体数值——方程无数值,给比例——赋值 1.2 分段计费1.3 函数最值(销售总量 单价 * 销量 ; 总利润 单利 * 销量)总结 二、排列组合2…

腾讯云轻量应用服务器搭建WordPress网站教程

腾讯云百科分享使用腾讯云轻量应用服务器搭建WordPress网站教程流程,WordPress 是全球最流行的开源的博客和内容管理网站的建站平台,具备使用简单、功能强大、灵活可扩展的特点,提供丰富的主题插件。腾讯云轻量应用服务器提供 WordPress 应用…

基于注意力神经网络的深度强化学习探索方法:ARiADNE

ARiADNE:A Reinforcement learning approach using Attention-based Deep Networks for Exploration 文章目录 ARiADNE:A Reinforcement learning approach using Attention-based Deep Networks for Exploration机器人自主探索(ARE)ARE的传统边界法非短视路径深度强化学习的方…

leetcode 6914. 翻倍以链表形式表示的数字

给你一个 非空 链表的头节点 head ,表示一个不含前导零的非负数整数。 将链表 翻倍 后,返回头节点 head 。 示例 1: 输入:head [1,8,9] 输出:[3,7,8] 解释:上图中给出的链表,表示数字 189 。返…

Linux网络基础(中)

目录: 再谈“协议” HTTP协议 认识URL: urlnecode和urldecode HTTP协议格式: HTTP的方法: 简易HTTP服务器: 传输层 再谈端口号: 端口号范围划分: netstat: pidof&…

【yolo系列:运行报错AttributeError: module ‘torch.nn‘ has no attribute ‘Mish‘】

最近运行yolov7报错AttributeError: module ‘torch.nn‘ has no attribute ‘Mish‘ 网上搜罗了一系列的报错方法但是都不怎么好解决,那么在这里给出具体解决方法,以及一些别人的参考文章。 这里先解释自己的,然后再给出别人的相对应的报错…

CentOS安装Docker(超详细)

文章目录 1.CentOS安装Docker1.1.卸载(可选)1.2.安装docker1.3.启动docker1.4.配置镜像加速 2.CentOS安装DockerCompose2.1.下载2.2.修改文件权限2.3.Base自动补全命令: 3.Docker镜像仓库3.1.简化版镜像仓库3.2.带有图形化界面版本3.3.配置Do…

滴滴Ceph分布式存储系统优化之锁优化

摘自:https://mp.weixin.qq.com/s/oWujGOLLGItu1Bv5AuO0-A 2020-09-02 21:45 0.引言 Ceph是国际知名的开源分布式存储系统,在工业界和学术界都有着重要的影响。Ceph的架构和算法设计发表在国际系统领域顶级会议OSDI、SOSP、SC等上。Ceph社区得到Red Hat…

章节4:Burp Target模块

章节4:Burp Target模块 Burp渗透测试流程 01 Target模块的作用 与HTTP History的区别 HTTP History按时间顺序记录Target按主机或者域名分类记录(字母顺序) Target模块的作用 把握网站的整体情况对一次工作的域进行分析分析网站存在的攻…

NO.2 MyBatis框架:创建Mapper接口和映射文件,实现基本增删改查

目录 1、Mapper接口和映射文件关系 2、Mapper接口和映射文件的命名规则 2.1 Mapper接口的命名规则 2.2 映射文件的命名规则 3、Mapper接口和映射文件的创建及增删改查的实现 3.1 Mapper接口和映射文件的创建 3.2 增删改查的实现 3.2.1表结构 3.2.2 创建表User对应的实…

温室花卉种植系统springboot框架jsp鲜花养殖智能管理java源代码

本项目为前几天收费帮学妹做的一个项目,Java EE JSP项目,在工作环境中基本使用不到,但是很多学校把这个当作编程入门的项目来做,故分享出本项目供初学者参考。 一、项目描述 基于Git无线传感网络的温室花卉种植智能控制系统 系统…

管理类联考——逻辑——形式逻辑——汇总篇——真题归纳

∩ ∪ ∧ ∨ ⊃ ⊂ ∅ ⟺ ┐ ∀ ∞ σ ∈ ∓ ↔ 2010 如果你服用了阿司匹林或者对乙酰氨基酚,那么你注射疫苗后就必然不会产生良好的抗体反应。 得到: 题干:阿司匹林∨对乙酰氨基酚→不会产生良好的抗体反应。 等价于:产生良好的…

NZ系列工具NZ02:VBA读取PDF使用说明

【分享成果,随喜正能量】时光绽放并蒂莲,更是一份殷殷嘱托,更是一份诚挚祝福,是一份时光馈赠,又是一份时光陪伴。。 我的教程一共九套及VBA汉英手册一部,分为初级、中级、高级三大部分。是对VBA的系统讲解…

使用openapi-generator-cli时遇到了代理的问题

前言:最近在捣鼓一个开源的管理kafka的web版,名字叫kafka-ui。准备部署到本地,方便平时遇到问题时,查看kafka的情况。开源项目github地址:点这里 。拿到这个项目,折腾了几天,今天终于编译成功了…

谷歌广告如何选取最佳关键词

本文我们主要介绍小白第一次投放谷歌广告,如何选取关键词和出价设置本文主要分为部分: 1、投放前调研 在设置我们的广告前,需要确定我们的关键词以及这个词在谷歌上的热度,来做好我们广告预算的分配,可以利用一些工具…

云安全攻防(十)之 资源耗尽型攻击

资源耗尽型攻击 同为虚拟化技术,容器与虚拟机既存在相似之处,也有显著不同。在资源限制方面,无论使用 VMware、Virtual Box 还是 QEMU,我们都需要为即将创建的虚拟机设定明确的CPU、内存及硬盘资源阈值。在虚拟机内部进程看来&am…

使用GraphQL在Postman中进行API测试

GraphQL 是一种用于API的开源数据查询和操作语言,用于API的查询语言和运行时。它使客户端能够精确地指定其数据需求,并获得预测性地结果。GraphQL旨在提高API的效率、灵活性和可靠性。 Postman 是一款用于API开发的强大工具,它支持REST和Gra…

【Spring Cloud +Vue+UniApp】智慧建筑工地平台源码

智慧工地源码 、智慧工地云平台源码、 智慧建筑源码支持私有化部署,提供SaaS硬件设备运维全套服务。 前言:互联网建筑工地,是将互联网的理念和技术引入建筑工地,从施工现场源头抓起,最大程度的收集人员、安全、环境、材…

邵阳首个沉浸式民国风情街来了!!!上海滩既视感美哭了!

什么?你说你厌倦了繁华闹市里的车水马龙、厌倦了每天上下班的两点一线?你说你喜欢古街旧巷,踏着青苔遍地,去抚摸青砖脉络,去感受时代变迁,你恐怕还不知道,在天子湖隐藏着这么一处穿越之地&#…