性能测试重要知识与TPS上不去原因分析,测试进阶之路卷起来...

news2024/10/6 22:23:07

目录:导读

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


前言

常见性能测试术语

吞吐量
指在一次性能测试过程中网络上传输的数据量的总和,也可以这样说在单次业务中,客户端与服务器端进行的数据交互总量;

对交互式应用来说,吞吐量指标反映服务器承受的压力,容量规划的测试中,吞吐量是重点关注的指标,它能够说明系统级别的负载能力,另外,在性能调优过程中,吞吐量指标也有重要的价值;

吞吐量和负载之间的关系:
①上升阶段:吞吐量随着负载的增加而增加,吞吐量和负载成正比;
②平稳阶段:吞吐量随着负载的增加而保持稳定,无太大变化或波动;
③下降阶段:吞吐量随着负载的增加而下降,吞吐量和负载成反比;
吞吐量干不过负载!!!

TPS
TPS(Transaction Per Second):每秒事务数,指服务器在单位时间内(秒)可以处理的事务数量,一般以request/second为单位。

QPS
Query Per Second:每秒查询率,指服务器在单位时间内(秒)处理的查询请求速率;
PS:TPS和QPS都是衡量系统处理能力的重要指标,一般和并发结合起来判断系统的处理能力;

RT/ART
Response Time/average Response Time:响应时间/平均响应时间,指一个事务花费多长时间完成;

一般来说,性能测试中平均响应时间更有代表意义。细分的话,还有最小最大响应时间,50%、90%用户响应时间等;

连接池
连接池是一个进程,多个连接在一个进程中存储、管理,它是共享、可复用的;

当客户端发起请求,先检查是否有闲置连接,如果有,则分配该连接给其使用;如果没有,则请求进入等待队列(等待空闲连接分配,这个取决于调度配置)或新建一个连接对象供其使用(取决于连接池有多少连接以及允许的最大连接数);

每次客户端发起请求,如果都新建连接,会消耗很多的资源,连接池的存在及其特性,减少了连接的建立所消耗的资源以及节省了很多连接创建时间,给系统提供了更好的伸缩性,也有助于服务器性能的提升。

压力测试中TPS一直上不去,是什么原因?

今天我们就来聊聊在实际压力测试中,为什么有时候TPS上不去的原因。

压测中为什么TPS上不去的原因分析:

1、网络带宽
在压力测试中,有时候要模拟大量的用户请求,如果单位时间内传递的数据包过大,超过了带宽的传输能力,那么就会造成网络资源竞争,间接导致服务端接收到的请求数达不到服务端的处理能力上限。

2、连接池
可用的连接数太少,造成请求等待。连接池一般分为服务器连接池(比如Tomcat)和数据库连接池(或者理解为最大允许连接数也行)。

3、垃圾回收机制
从常见的应用服务器来说,比如Tomcat,因为java的的堆栈内存是动态分配,具体的回收机制是基于算法。

如果新生代的Eden和Survivor区频繁的进行Minor GC,老年代的full GC也回收较频繁,那么对TPS也是有一定影响的,因为垃圾回收其本身就会占用一定的资源。

4、数据库配置
高并发情况下,如果请求数据需要写入数据库,且需要写入多个表的时候,如果数据库的最大连接数不够,或者写入数据的SQL没有索引没有绑定变量,抑或没有主从分离、读写分离等,就会导致数据库事务处理过慢,影响到TPS。

5、通信连接机制
串行、并行、长连接、管道连接等,不同的连接情况,也间接的会对TPS造成影响。

6、硬件资源
包括CPU(配置、使用率等)、内存(占用率等)、磁盘(I/O、页交换等)。

7、压力机
比如jmeter,单机负载能力有限,如果需要模拟的用户请求数超过其负载极限,也会间接影响TPS(这个时候就需要进行分布式压测来解决其单机负载的问题)。

8、压测脚本
还是以jemter举个例子,之前工作中同事遇到的,进行阶梯式加压测试,最大的模拟请求数超过了设置的线程数,导致线程不足。

提到这个原因,想表达意思是:有时候测试脚本参数配置等原因,也会影响测试结果。

9、业务逻辑
业务解耦度较低,较为复杂,整个事务处理线被拉长导致的问题。

10、系统架构
比如是否有缓存服务,缓存服务器配置,缓存命中率、缓存穿透以及缓存过期等,都会影响到测试结果。

PS:性能瓶颈分析不能单从局部分析,要综合起来,多维度分析问题原因。

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

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

每一次挑战与克服,都是你成为更好自己的机会,不要害怕失败,因为正是它们让你更加坚强。向前迈进,你会发现内心的力量越来越强大,终将迎来成功的喜悦!

只有在你付出努力的时候,机会才会向你靠近。无论前路如何坎坷,保持奋斗的信念和勇气,终究能翻过山丘,到达成功的彼岸。

只要你有梦想,就要坚持不懈地追求它,即使道路崎岖,也不要放弃,因为成功需要的不仅是勇气和毅力,更需要一颗永不屈服的心。

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

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

相关文章

阿里P7晒出工资条,看完扎心了……

前几天,有位老铁私信我,说看到某95后学弟晒出阿里P7的工资单,他是真酸了…想狠补下技术,努力冲一把大厂。 为了帮到他,也为了大家能在最短的时间内做面试复习,我把软件测试面试系列都汇总在这一篇文章了。 …

基于OpenCV和PyQt5的跳绳计数器应用程序

基于OpenCV和PyQt5的跳绳计数器应用程序 介绍 本文将介绍一个基于OpenCV和PyQt5的跳绳计数器应用程序。该程序可以使用计算机摄像头来检测跳绳动作,并计算跳绳次数。本文将介绍程序的实现方法和实现细节,包括背景减除算法和轮廓检测算法的使用。 背景…

Linux(云计算)期末复习资料

1:linux概述 ​ Linux是一种自由、开放源代码的操作系统,它最初由芬兰的Linus Torvalds在1991年开发,目前已经成为世界上最流行的操作系统之一。Linux操作系统的特点是免费、稳定、安全、可定制、可移植性强、支持多任务、多用户等。 2&…

[VRTK4.0]安装VRTKv4Tilia软件包导入程序

学习目标: 演示如何从Unitv资源商店安装VRTKv4Tilia包导入器,以轻松访问VRTKv4Tilia包,这些包为构建XR体验提供了各种有用的功能. 简述: 推荐使用2022.2.11F1以上版本来进行VRTK使用,我们可以从Unity资产商店导入Tilia包管理器&am…

Windows和Kali上使用proxychains代理流量

Windows和Kali上使用proxychains代理流量 PS. 本文演示都是在kali进行的,如有出入还请联系我哦1. Linux(Debian)1.1. 检查一下是否有proxychains1.2 修改config文件 2. Linux(Debian)安装proxychians43. Windows3.1 下载3.2 配置 4. Windows下的配置5. 测试 PS. 写这…

你知道黑客是什么样?

1 前言 现代人的生活离不开互联网,提到互联网人们总会想到一个词,那就是黑客。对于黑客大家对他们的了解却只局限于电影、电视中他们“无处不在”的可怕和他们“翻手为云覆手为雨”的技术中。但真正的黑客到底是什么? 2 什么是黑客 笔挺的…

【STL模版库】模拟实现list类模版 {深度剖析list迭代器,实现list深拷贝}

一、核心结构 template <class T> struct list_node{ //[1]T _data; //[2]list_node *_next; //指向下一个节点list_node *_prev; //指向前一个节点list_node(const T &val T()):_data(val),_next(nullptr),_prev(nullptr){} };template <class T> class Myl…

截图自动添加水印(macOS/windows)

文章目录 1. 截图自动加水印1.1. windows1.2. macOS 2. 对已有图像批量加水印2.1 windows2.2 macOS 1. 截图自动加水印 1.1. windows 直接看这篇文章&#xff0c;一键截图自动生成水印/自动签名主要就是使用一个叫 SPX 的软件 1.2. macOS 其实apple的操作系统&#xff0c;i…

7、行为模式-观察者模式

一、观察者模式 当对象间存在一对多关系时&#xff0c;则使用观察者模式&#xff08;Observer Pattern&#xff09;。比如&#xff0c;当一个对象被修改时&#xff0c;则会自动通知依赖它的对象。观察者模式属于行为型模式。 介绍 意图&#xff1a;定义对象间的一种一对多的…

第十章:C语言的调试

很多小伙伴刚开始听到C语言的调试&#xff0c;这是个啥&#xff0c;表示很怀疑&#xff0c;敲代码不就是直接就是干嘛&#xff0c;结果很多小白们&#xff0c;一运行错误多的数都数不过来。就开始这改改&#xff0c;那删删&#xff0c;莫名奇妙就运行成功了。到最后都不知道到底…

WEB自动化测试,一定得掌握的8个核心知识点

​ 编辑 写在前面 使用 cypress 进行端对端测试&#xff0c;和其他的一些框架有一个显著不同的地方&#xff0c;它使用 JavaScript 作为编程语言。 传统主流的 selenium 框架是支持多语言的&#xff0c;大多数 QA 会的 python 和 Java 语言都可以编写 selenium 代码&#xff0…

Android逆向之雷速体育(360加固)

本教程仅限于学术探讨&#xff0c;也没有专门针对某个网站而编写&#xff0c;禁止用于非法用途、商业活动等&#xff0c;否则后果自负。如有侵权&#xff0c;请告知删除&#xff0c;谢谢&#xff01; 目录 一、攻克难点 二、分析接口 三、结束 一、攻克难点 本期app难点&am…

2023远程控制软件排行榜

对远程控制软件的排名可能是主观的&#xff0c;因为它取决于个人的需求和偏好。 但是&#xff0c;这里列出了因其功能和性能而广受认可的流行远程控制软件&#xff1a; TeamViewer TeamViewer 是一款成熟的远程控制软件&#xff0c;以其易用性和广泛的功能而闻名。 它支持远程…

君子签电子签章助推企业实现印章“集中统一管控”和“分级分权管理”

对于中大型企业来说&#xff0c;印章管理一直以来都是个“老大难”问题。 在中大型企业&#xff0c;印章数量多&#xff0c;大多分散在各个分/子公司的各个部门&#xff0c;企业印章无法统一进行有效管理。印章分散各地&#xff0c;异地分/子公司跨区域盖章难&#xff1b;分/子…

java servlet 二手物品交易平台Myeclipse开发mysql数据库web结构jsp编程计算机网页项目

一、源码特点 java servlet 二手物品交易平台是一套完善的java web信息管理系统&#xff0c;对理解JSP java编程开发语言有帮助 系统采用 serlvetdaobean 模式开发 &#xff0c;系统具有完整的源代码和数据 库&#xff0c;系统主要采用B/S模式开发。开发环境为TOMCAT7.0,My…

Allure在本地不安装allure服务的情况下打开Allure Html报告

前言 我们使用pytestallure生成Allure测试报告后&#xff0c;需要发给领导查看报告的详细信息。此时我们通过将allure生成的html报告压缩成压缩包后发送给领导&#xff0c;但是领导电脑由于没有安装Allure服务&#xff0c;打开会全部显示“Loading”&#xff0c; 无法查看到报…

信创办公–基于WPS的PPT最佳实践系列 (插入表格或图标)

信创办公–基于WPS的PPT最佳实践系列 &#xff08;插入图表或图标&#xff09; 目录 项目背景操作步骤1、插入表格2、实现放映功能 项目背景 当表格数据过大时&#xff0c;将其复制粘贴到PPT上时会显得插入的表格内容小、拥挤&#xff0c;使PPT看起来不美观。这个问题我们可以…

《微服务实战》 第十七章 Redis下载与安装

前言 Redis 全称 Remote Dictionary Server(即远程字典服务),它是一个基于内存实现的键值型非关系(NoSQL)数据库,由意大利人 Salvatore Sanfilippo 使用 C 语言编写。 与 SQL 型数据库截然不同,Redis 没有提供新建数据库的操作,因为它自带了 16 (0—15)个数据库(默…

牛客 BM76 正则表达式匹配 【动态规划】

描述 请实现一个函数用来匹配包括.和*的正则表达式。 1.模式中的字符.表示任意一个字符 2.模式中的字符*表示它前面的字符可以出现任意次&#xff08;包含0次&#xff09;。 在本题中&#xff0c;匹配是指字符串的所有字符匹配整个模式。例如&#xff0c;字符串"aaa"…

可算是熬出头了,测试6年,费时8个月,入职阿里,涨薪14K

前言 你的努力&#xff0c;终将成就无可替代的自己。 本科毕业后就一直从事测试的工作&#xff0c;和多数人一样&#xff0c;最开始从事点点点的工作&#xff0c;看着自己的同学一步一步往上走&#xff0c;自己还是在原地踏步&#xff0c;说实话这不是自己想要的状态。 一年半…