性能测试的核心原理

news2024/10/7 16:17:57

  性能测试的核心原理

  1 基于协议,前后端交互机制,性能核心。基于界面决定和前端用户交互,基于代码决定了后端。

  1 网络分布式架构。

  2 单机应用,比如安安兔,鲁大师。主要判断io读写,以及对资源的消耗。

  2 多线程,模拟多个虚拟用户量同时访问系统。

  3 模拟真实的场景。场景的设计合理直接决定了你得出的性能数据,从而影响你对系统的性能判断。

  核心指标:

  1 响应时间:

  前端发送请求,到后端返回的时间,从测试角度看,不包含前端对响应的渲染时间。

  响应时间=发送网络延时+应用程序处理的时间(包含应用程序和数据库处理时间)

  一般遵循3,5,8原则。取决于用户带宽,服务器带宽,服务器处理时间。

  2 事务处理能力(TPS):

  TPS标识单位时间内能够完成事务数量,也成为每秒事务数TPS。每个系统的TPS都有上限,并不随着用户的增加而增加。

  泛指的概念:比如打开一个页面-----登录----挑选商品-----网购支付,这每一个步骤都是可以理解成一个事务,甚至整个流程都可以理解成一个事务。每一个事务都有开始和结束,比如lr中要用lr_start_transaction("start_xiaohua")标识事务开始,lr_end_transaction("start_xiaohua", LR_AUTO)标识事务结束,所以TPS是软件测试结果的测量单位

  对于已经上线的系统,可以选取高峰时刻,在5分钟内,获取系统每笔交易的业务量和总业务量推算出TPS。

  TPS=请求数/时间

  3 每秒查询率(QPS):

  QPS标识一个特定的查询服务器在规定时间内处理流量多少。QPS类似于TPS。假如一个TPS中只有一个接口且接口内部没有向服务器再请求资源,那么此时TPS=QPS,否则不等。比如打开一个页面,就可以认为是一个TPS,但是一个页面的请求可能回像服务端再次请求多次请求,服务器对着这些请求,就可以计算计入QPS。例 每秒能进行N个事务的请求,假设一个TPS内包含4个QPS,那么就是N*4,通常QPS用来衡量单接口,TPS用来衡量多接口的混合场景,当然你把单个接口当做一个事务也可以。

  一个系统的吞吐量通常有QPS(TPS)并发数来决定,这两个值都有一个相对的极限值,在应用场景访问压力下,只要某一项达到系统最高值,系统的吞吐量就上不去,如果压力持续增大,系统的吞吐量反而回下降,因为系统超负荷工作,频繁的上下文借还,内存等其他小号导致性能下降。

  原理:每天80%的访问集中在20%时间内,即根据二八原则,这20%时间叫做峰值时间

  

  4 思考时间:

  用户打开一个页面之后,回浏览该页面,此时并不向服务器发送请求,以8秒为基数,进行50%---200%的随机取值。以便更好的模拟用户请求的时间。

  5 每秒点击数(HPS):

  html中的一个img src就可以理解成一个HPS,,应该尽量较少HTTP请求,这取决于用户的数量。常见问题图片过大,连接数过多,该压缩的压缩,该合并的合并。

  和tps qps的区别,个人认为 tps>qps>hps

  6 最大连接数;

  系统的最大连接数通常受制于容器例如tomcat,apache等以及数据库的最大连接数。当tps出现瓶颈的时候,但是资源没有到达瓶颈,那么很大可能就是此类的性能问题。

  7 系统资源:

  1 cpu:

  1 %Processor Time cpu使用率。70%--80%一般视为最大值,当然cpu使用率达到100%也不代表系统会崩溃,加入cpu等待队列不超过4的化。

  2 %Processor Queue Length cpu等待队列长度。一般控制在2*内核数

  2 内存:

  1 总体可用数

  2 虚拟内存交换率 page/sec。

  虚拟内存,通常内存会将一部分数据放入到硬盘缓存中去,使用的时候再读回来,这种来回的数据交换就叫做内存的交换律,交换的单位是页page,所以也叫做内存的也交换率。

  3 缓存:

  分配给一个应用程序使用的内存。

  进行系统级优化的时候,重点利用好缓存机制。代码层面算法 sql语句等,减少内存,减少运算次数,预算次数决定cpu消耗,内存决定了资源占用。

  3 磁盘io

  应用程序存在硬盘谁给你,但是使用的时候,需要加载在内存上。

  1 硬盘使用率 %diskTime

  2 硬盘使用队列长度

  4 网络带宽(Bytes Total/sec):

  上相和下行相对而言

  1 每秒接受的数据量,低于下行带宽/8

  2 每秒发送的数据量,低于上行带宽/8

  Bytes Total/sec 用来描述发送和接受字节的速度,一次来判断网络带宽是否存在性能瓶颈。

  5 线程:

  进程是资源单位,线程是执行单位,在cpu三状态轮换图中,实际执行的是线程。

  如需了解更多测试技术信息请关注:深圳多测师软件与技术服务有限公司

 

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

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

相关文章

git常见操作命令

1.Git 配置 在安装完成 Git 后,开始正式使用前,是需要有一些全局设置的,如用户名、邮箱。 git config --global user.name "your name" // 设置全局用户名 git config --global user.email "your email" // 设…

Linux诞生与分支

a) 什么是操作系统操作系统是计算机系统中必不可少的基础系统软件,它的作用是管理和控制计算机系统中的硬件和软件资源,合理地组织计算机系统的工作流程,以便有效地利用这些资源为使用者提供一个功能强大、使用方便的操作环境。它在计算机系…

汽车轮胎充电宝打气泵方案

我们知道新能源车是没有配置充气泵的,所以在平时日常使用中我们还需要配置一个充气泵。充气泵方案便是在这个用户需求上面开发出来的。它体积小、外观精美、带有多模式充气并车胎检测等功能,是现在有车一族的出行必备物品。 充气泵方案其功能设计集成于一…

【语义分割】标注工具ISAT with segment anything介绍

every blog every motto: You can do more than you think. https://blog.csdn.net/weixin_39190382?typeblog 0. 前言 极速分割标注工具 1. 正文 1.1 安装 创建虚拟环境 conda create -n ISAT_with_segment_anything python3.8 conda activate ISAT_with_segment_anyt…

宝塔面板搭建Discuz论坛并发布互联网访问【无需云服务器】

✨个人主页:bit me👇 目 录 ⏳前言⏰1.安装基础环境⌚️2.一键部署Discuz📻3.安装cpolar工具📡4.配置域名访问Discuz🔍5.固定域名公网地址📲6.配置Discuz论坛 转载自cpolar极点云的文章:Linux宝…

关于startActivityForResult()方法被弃用的解决方案

关于startActivityForResult()方法被弃用的解决方案 背景:使用startActivityForResult()方法时,代码出现划线,显示该方法已被弃用 startActivityForResult() 方法是一种用于在 Android 应用程序中启动另一个活动(Activity&#x…

Charles抓包

mac 1、下载安装包 官网下载:Download a Free Trial of Charles • Charles Web Debugging Proxy 2、有效期: 打开Charles > Help > Register Charles > 输入 Registered Name : https://zhile.io License Key:48891…

“正大杯”第十三届市场调查与分析大赛[省一]经验总结+复盘

目录 1 前期组队 2 队员组成 队长-成员1 应用统计学专业 成员2 化学实验专业 成员3-本人 物联网工程专业 成员4 金融ACCA专业 成员5 应用物理学 总结 3 比赛进度 3月中旬 部分图表的制作 问卷设计与制作 稍微改动主题 问卷相关总结 前期调查部分论文框架 3月…

手拉手教您Linux搭建web

文章目录 前言1. 本地搭建web站点2. 测试局域网访问3. 公开本地web网站3.1 安装cpolar内网穿透3.2 创建http隧道,指向本地80端口3.3 配置后台服务 4. 配置固定二级子域名5. 测试使用固定二级子域名访问本地web站点 转载自cpolar文章:Linux CentOS本地搭建…

【2023 · CANN训练营第一季】应用开发深入讲解——第四章 DVPP初级

学习资源 1.JPEG图片解码 文档 2.图片缩放 文档 媒体数据处理 数据预处理的典型使用场景 数据预处理的多种方式 分为两种,AIPP和DVPP DVPP数据预处理功能 了解两个重要概念 宽stride 和 高stride 理解:这里假设一张图片的宽为500,高为3…

SpringBoot Properties YML文件的优先级

SpringBoot启动文件的优先顺序测试 运行时指定加载文件时,最高Java jar spring.config.location优先于spring.profiles.activeJava -jar 三种语法 运行时不指定加载文件时,其次1.项目路径下的config目录优先级最高---12.项目路径的优先级其次---23.Eclip…

linux:查找相关命令find与grep

find 语法 在指定目录下查找文件和目录。 find [path] [expression]path:是要查找的目录路径,可以是一个目录或文件名,也可以是多个路径,多个路径之间用空格分隔,如果未指定路径,则默认为当前目录。 exp…

Kotlin高级协程

Kotlin高级协程 一.前言二.先从线程说起三.协程的设计思想四.协程特点:优雅的实现移步任务五.协程基本使用六.协程和线程相比有什么特点,如何优雅的实现异步任务 一.前言 在文章正式上干货之前,先说一点背景吧;我是 Kotlin 协程官…

C语言初阶之扫雷代码详解(含递归展开)

扫雷代码详解 扫雷代码思路头文件解析主函数解析函数文件解析①初始化函数(InitBoard)②打印函数③难易选项函数(Select)④布雷(SetMine)⑤获取周边雷数(GetMine)⑥展开函数&#xf…

从零开始,轻松打造Web自动化测试框架:Python+Selenium实战指南

在程序员的世界中,一切重复性的工作,都应该通过程序自动执行。「自动化测试」就是一个最好的例子。 随着互联网应用开发周期越来越短,迭代速度越来越快,只会点点点,不懂开发的手工测试,已经无法满足如今的…

广州虚拟动力亮相2023世界元宇宙生态博览会,邀您解锁元宇宙商机

2023年5月10-12日 2023第2届世界元宇宙生态博览会 在广州广交会展馆正式举办! 广州虚拟动力携虚拟数字人全栈式解决方案参展 诚邀您莅临3.2馆A109-A110展位参观交流 2022年全国多个地方出台元宇宙政策文件,各地方政府的元宇宙产业扶持政策也在逐渐细…

webshell及工具

目录 一,Webshell的概念 二,eval函数的定义和用法 三,连接工具菜刀 3.1文件管理 3.2 虚拟终端 3.3 菜刀与burpsuite联动 四,哥斯拉的使用 五,冰蝎 六,webshell分类 七,webshell如何连接 …

哪个牌子的电视盒子好用?罗鹏数码盘点2023电视盒子排名

电视机资源少、卡顿,配置不足的时候只需要安装一台电视盒子就可以解决这些问题,不需要花费大价钱更换电视机。那么,你知道哪个牌子的电视盒子好用吗?今天罗鹏就来详细聊聊这个话题,分享2023最新电视盒子排名。 一&…

在家经济性雾视训练

如何使用睛延宝进行雾视训练,才能缩轴控度? 雾视的相关概念 首先大家要知道什么是雾视? 顾名思义,雾视就是眼睛看目标物时有点模糊,好像有层雾。 雾视的效果:放松睫状肌,拉薄晶状体,增厚脉络膜。 原理就…

如何与劳氏 Lowe‘s 建立EDI连接?

劳氏Lowes(以下简称:Lowes)是专门从事家庭装修的美国零售公司,而 EDI 则是电子数据交换的缩写,是指通过计算机网络进行企业间电子数据交换的一种标准化方式。 通过 EDI,企业与Lowes之间可以直接交换各种商…