性能测试的核心原理
  A1MKN3aCO59N 2023年11月02日 96 0

  性能测试的核心原理

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

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

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  YgmmQQ65rPv4   2023年11月19日   28   0   0 Java应用程序
A1MKN3aCO59N
最新推荐 更多