首页 > 其他分享 >性能测试的核心原理

性能测试的核心原理

时间:2023-05-10 10:32:17浏览次数:30  
标签:事务 请求 性能 TPS 内存 测试 QPS 原理 cpu

  性能测试的核心原理

  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三状态轮换图中,实际执行的是线程。

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

标签:事务,请求,性能,TPS,内存,测试,QPS,原理,cpu
From: https://blog.51cto.com/u_15239049/6260651

相关文章

  • 大数库GMP测试-2
    任务详情0.在openEuler(推荐)或Ubuntu或Windows(不推荐)中完成下面任务1.用自己8位学号建两个文件夹xxxxxxxxsrc,xxxxxxxx,到[GMP官网https://gmplib.org/](https://gmplib.org/)下载最新代码到201x1xxxsrc,编译代码并把GMP库安装到201x1xxx文件夹。(5')2.基于GMP的大数库编写测......
  • 大数GMP测试
    一、任务详情在openEuler(推荐)或Ubuntu或Windows(不推荐)中完成下面任务用自己8位学号建两个文件夹xxxxxxxxsrc,xxxxxxxx,到GMP官网https://gmplib.org/下载最新代码到201x1xxxsrc,编译代码并把GMP库安装到201x1xxx文件夹。(5')基于GMP的大数库计算你以及前面5位同学和后面5位同学......
  • OpenSSL测试-大数-2
    任务详情0.在openEuler(推荐)或Ubuntu或Windows(不推荐)中完成下面任务1.基于OpenSSL的大数库计算1000内的素数的乘积(5‘)2.基于OpenSSL的大数库计算你以及后面15位同学的8位学号(数字)的乘积(5‘)3.用Python或bc命令验证计算的正确性(5’)4.**提交代码(或代码链接)和运行结果截......
  • 大数库GMP测试
    大数库GMP测试20201331黄文刚一、任务详情0.在openEuler(推荐)或Ubuntu或Windows(不推荐)中完成下面任务用自己8位学号建两个文件夹xxxxxxxxsrc,xxxxxxxx,到GMP官网https://gmplib.org/下载最新代码到201x1xxxsrc,编译代码并把GMP库安装到201x1xxx文件夹。(5')基于GMP的大数库编......
  • 大数库GMP测试
    在openEuler(推荐)或Ubuntu或Windows(不推荐)中完成下面任务用自己8位学号建两个文件夹xxxxxxxxsrc,xxxxxxxx,到GMP官网https://gmplib.org/下载最新代码到201x1xxxsrc,编译代码并把GMP库安装到201x1xxx文件夹。(5')基于GMP的大数库编写测试代码测试大数运算,计算10000内的素数的乘积......
  • OpenSSL测试-大数
    OpenSSL测试-大数20201331黄文刚0.在openEuler(推荐)或Ubuntu或Windows(不推荐)中完成下面任务基于OpenSSL的大数库计算1000内的素数的乘积(5‘)基于OpenSSL的大数库计算你以及后面15位同学的8位学号(数字)的乘积(5‘)用Python或bc命令验证计算的正确性(5’)提交代码(或代码链接)......
  • LEACH网络协议性能仿真包括能耗,死亡节点,剩余存活节点
    1.算法仿真效果matlab2022a仿真结果如下:      2.算法涉及理论知识概要         LEACH协议,全称是“低功耗自适应集簇分层型协议”(LowEnergyAdaptiveClusteringHierarchy),是一种无线传感器网络路由协议。基于LEACH协议的算法,称为LEACH算法。LEACH......
  • ChatPDF/ChatDOC实现原理解析
    1)把PDF切分成小的文本片段,通过OpenAI的Ada模型创建Embedding放到本地或远程向量数据库。2)把用户的提问也创建成Embedding,用它和之前创建的PDF向量比对,通过语义相似性搜索(余弦算法),找到最相关的文本片段。比关键词搜索好的一点是不要求关键词包含,也能发现文本相关性,比如汽车和公路......
  • jenkins工作原理
    Jenkins是一款流行的开源持续集成和交付工具,其工作原理如下:代码管理:Jenkins可以与各种代码管理工具(如Git、SVN等)进行集成,以便从中获取最新代码。 构建触发:Jenkins可以根据时间计划或代码仓库的变更来触发构建任务。 构建环境设置:Jenkins可以配置构建环境(如操作......
  • 【redis】哨兵监控原理
    redis-主从模式弊端:一、master节点异常shutdown后,从机原地待命,从机数据可以查询(不可以写入),等待主机重启归来二、复制延时,信号衰减redis-哨兵监控:  是什么?    哨兵即为吹哨人,可以巡查监控后台master主机是否故障,如果故障可以根据投票数自动将一个从库转换为新的ma......