性能测试流程、指标及常见问题!

1.介绍性能测试流程

a.性能需求分析(评审)
基于接口或者场景(全链路)的性能测试指标,一般是tps(每秒事务数,这里都是通过的事务)及art(平均响应时间)
b.了解系统架构,申请性能测试环境
用到的web服务器、应用服务器、缓存数据库服务器、数据库服务器、文件服务器等
c.执行性能测试方案
d.搭建测试环境,准备测试数据
数据库的存量数据+增量数据,比如一个查询接口,都是并发100用户,对应的表数据量是1万和100万,压测结果是不一样的,这个数据量根据生产环境获取
e.主流程稳定后,调试被测接口、开发压测脚本(也可以在功能测试环境进行)
参数化、关联、事务、检查点、思考时间等,造参数化测试数据
f.预压测
少量并发(比如一个用户),看压测环境功能是否跑通
g.执行压测并监控服务器资源情况
看测试指标是否满足需求,从请求开始,一步一步排查请求流经的节点,包括服务器资源(CPU、内存、磁盘IO、网络)是否存在性能瓶颈、各种连接等是否存在性能瓶颈
h.分析定位
基于上一步的监控数据,对瓶颈进行分析、定位
i.性能调优
j.性能回归
k.编写性能报告

2.性能测试结果中,我们常关注的指标

1、响应时间(RT):指多长时间响应客户请求

2、吞吐量(TPS):每秒完成的事务数,可以是一个业务流程,也可以是一个表单的提交

3、事务成功率

4、硬件指标:CPU、内存、存储、网络

5、稳定性

6、内存有无泄露

7、其他(数据库、中间件、缓存、JVM)

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

3.列举性能测试常见问题

我们关注的指标tps和art(平均响应时间),如果tps低,或者响应时间长,或者服务器资源紧张,那就需要我们去定位性能问题了,常见的性能问题主要包含:

a.服务器问题

   cpu     内存     磁盘io 磁盘容量

b.网络带宽:看当前收发占用的带宽及有没有丢包

c.load高:看线程信息;看是否fgc

d.队列问题:磁盘io队列、线程队列

e.各种连接池问题:不足或者没释放

f.死锁问题:数据库死锁、线程死锁

g.慢sql问题

h.缓存设置问题

关于磁盘io,我们主要关注以下几个指标:

%iowait:I/O等待所占CPU时间百分比,iowait较大说明IO负载大,IO等待比较严重,磁盘读写遇到瓶颈;

r/s:每秒完成的读 I/O 设备次数;

w/s:每秒完成的写 I/O 设备次数;

rkB/s:每秒读K字节数;

wkB/s:每秒写K字节数;

avgqu-sz:平均I/O队列长度,向设备发出的请求平均数量;如果这个数值大于1,可能是硬件设备已经饱和;

await:平均每次设备I/O操作的时间 (毫秒);

svctm:平均每次设备I/O操作的服务时间 (毫秒);

%util:磁盘设备利用率,一秒中有百分之多少的时间用于 I/O 操作,或者说一秒中有多少时间 I/O队列是非空的,接近100%说明设备能力趋于饱和

磁盘IO繁忙的问题描述:

问题描述:

压测过程中,tps上不去,监控各个服务器cpu、内存、磁盘、网络等等,最终发现是数据库服务器磁盘IO繁忙(命令:iostat -x -k 1),sdb已饱和到达瓶颈点了。如下图(只截了一小部分图):

分析总结

结合上图及关注指标可知,sdb已经达到饱和(sdb表示第二块磁盘),IO不到20,说明其IO能力很差(r/s,w/s),还不到100就满了,连普通台式机7200转硬盘都赶不上,普通的单个硬盘都100左右,可以按这个公式来计算:1000/(30000/rpm +5),如果是7200RPM,1000ms/9.17ms=109IOPS,1秒钟可以109次IO。

另外,读写效率低,传输率肯定上不去,所以每秒传输的数据量也很小(rkB/s,wkB/s) 。经和运维确认得知:磁盘没有限制,因为是虚拟化,且底层的资源已经用满了,导致只能到这么多。

增加资源后复测,磁盘IO趋于正常,tps上升,最终达到测试目标。

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

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
 

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于JSDoc实现TypeScript类型安全的实践报告

在FEDay 2023中我讲了《从JS到TS无缝迁移的实践报告》【视频在这里在这里】,是将一个传统的JS项目(mochajs/mocha)迁移到TypeScript环境的全程。其中提到了一件事情,就是“可以通过JSDoc/TSDoc来生成.d.ts”,从而实现T…

Shell数组函数:数组(二)

关联数组 注意:先声明关联数组 一、定义关联数组 方法一 #一次赋一值 #数组名[索引]变量值 [rootlocalhost ~]# declare -A ass_array1 [rootlocalhost ~]# ass_array1[index1]pear [rootlocalhost ~]# ass_array1[index2]apple [rootlocalhost ~]# ass_array1[ind…

centos7-zabbix安装与使用(较全的配置)

文章目录 zabbix介绍一、zabbix是什么1.1 zabbix专用词汇1.2 zabbix程序组件 二、zabbix的优缺点三、为什么使用zabbix3.1 zabbix可以满足的监控系统需求 四、zabbix监控的生命周期 zabbix安装一、zabbix环境搭建1.1 安装wget1.2 关闭防火墙1.3 关闭SELinux 二、安装zabbix2.1 …

234 回文链表

解题思路: \qquad 由于链表的结构特点,访问链表中的元素的时间复杂度为O(n)。相比较而言,使用数组会方便很多,实现O(1)访问。 \qquad 所以这个题,可以先遍历一遍把数值存到数组中,再使用双指针判断是否是…

12.5 作业

1, 以下是一个简单的比喻,将多态概念与生活中的实际情况相联系: 比喻:动物园的讲解员和动物表演 想象一下你去了一家动物园,看到了许多不同种类的动物,如狮子、大象、猴子等。现在,动物园里有…

Leetcode刷题笔记题解(C++):LCR 021. 删除链表的倒数第 N 个结点

思路:用双指针去遍历链表,删除left的下一个节点,注意的是n大于等于链表长度即删除第一个节点 /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : val(0), next(nullptr) {…

CTF特训日记day(4-6)

来复现一下2022QWB决赛的RDP题目 这两天腰疼去了趟医院 题目要求我们攻击XRDP程序,从而达到本地提权的效果。 首先观察XRDP程序的版本信息 rootRDP:/home/rdp/Desktop# xrdp-sesman -version xrdp-sesman 0.9.18The xrdp session managerCopyright (C) 2004-2020…

supervisor管理python进程

前言 平时开发调试中使用conda环境,项目比较多环境多,而且命令繁杂,每一次启动项目都可能会因为忘记启动方式而频繁报错。现在可以通过supervisor来管理,只需要配置几个文件,就可以轻松通过简单一致的命令启动工程&…

《悲风》——川西的爱情史诗-历史风貌中的人性之旅

《悲风》——川西的爱情史诗-历史风貌中的人性之旅 《悲风》:一部穿越时空的情感史诗,展现了中国川西地区的历史风貌和深刻的人性探索。本作品以1936年秋为起点,讲述了一个关于爱情、忠诚、背叛与成长的故事。 故事主线围绕着两个青梅竹马的…

项目经理是干出来的,不是教出来的

大家好,我是老原。 有不少新手项目经理,在通过了PMP认证考试,拿到PMP证书后,对之前无序的项目管理状态感觉有了一丝通透的感觉,对接受新项目更是信心满满。 然后就有不少没有项目管理经验,且刚刚考取PMP证…

Photoshop最新版PS2024安装使用 Ver25.0.0

Photoshop,这个是长红了几十年的软件,我大概从它的3.0版本开始用,目前已迭代到25.0,但一直还在用CS4/11.0版本,一直秉持着够用即可的原则,因为不是专业的平面设计人员,能够简单PP图片就行。&…

关于队列的简单理解

1.队列(Queue) 1.1 关于队列 队列 :只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表, 队列具有先进先出 FIFO(First In First Out)的操作特性(队列是个接口); 入队列&#x…

P5 Linux 标准C库函数

目录 前言 01 标准输入、标准输出和标准错误 02 打开文件 fopen() 03 新建文件的权限 04 fclose()关闭文件 05 读文件和写文件 06 库函数 fseek 定位 6.1 lseek的使用 07 ftell()函数 前言 🎬 个人主页:ChenPi 🐻推荐专栏1: 《C_Chen…

2005-2021年地级市绿色发展注意力数据(根据政府报告文本词频统计)

2005-2021年地级市绿色发展注意力数据(根据政府报告文本词频统计) 1、时间:2005-2021年 2、指标:省、市、年份、一级指标、关键词、关键词词频、总词频 3、范围:270个地级市 4、来源:地级市政府工作报告…

最全Web前端校招面试真题合集(附答案)

历时半年,我们整理了这份市面上最全面的前端校招面试题解析大全。 包含了腾讯、字节跳动、百度、阿里、滴滴、美团、58、拼多多、360、新浪、搜狐等一线互联网公司面试被问到的题目。希望对大家参加前端校招有所帮助吧! HTML 浏览器页面有哪三层构成&…

Android MVVM+coroutine+retrofit+flow+hilt

文章目录 Android MVVMcoroutineretrofitflowhilt概述依赖注入层数据层视图层模型视图层代码下载 Android MVVMcoroutineretrofitflowhilt 概述 代码结构: 依赖注入层 数据库: Module InstallIn(SingletonComponent::class) class DBModule {Singleto…

力扣第374场周赛题解

这一场周赛的题目是比较难的一次,写了1个多小时就写了两个题目。 首先第一题: 纯水题,遍历然后进行一下判断就可以解决了。这边就不放代码了。 第二题: 这个题目,我觉得难度非常大,其实代码量也不大都是很…

C语言--每日选择题--Day36

第一题 1. 以下关于指针的说法,正确的是() A:int *const p 与 int const *p等价 B:const int *p 与 int *const p等价 C:const int *p 与 int const *p 等价 D:int *p[10] 与 int (*p)[10] 等价 答案及解析 C const 在*的左侧&…

Hadoop学习笔记(HDP)-Part.02 核心组件原理

目录 Part.01 关于HDP Part.02 核心组件原理 Part.03 资源规划 Part.04 基础环境配置 Part.05 Yum源配置 Part.06 安装OracleJDK Part.07 安装MySQL Part.08 部署Ambari集群 Part.09 安装OpenLDAP Part.10 创建集群 Part.11 安装Kerberos Part.12 安装HDFS Part.13 安装Ranger …

Java操作Excel之 POI介绍和入门

POI是Apache 提供的一个开源的Java API,用于操作Microsoft文档格式,如Excel、Word和PowerPoint等。POI是Java中处理Microsoft文档最受欢迎的库。 截至2023/12, 最新版本时 POI 5.2.5。 JDK版本兼容 POI版本JDK版本4.0及之上版本> 1.83.…