性能相关概念


性能测试:

  初级:编写脚本,执行脚本

  中级:场景设计,环境搭建(服务环境,监控环境,网络环境),性能执行,部分性能分析与调优

  高级:脚本编写,环境,场景,性能分析与调优(重点)

  团队调优:性能测试人员协调,架构师+产品经理+项目经理+DBA+性能测试人员

 

性能测试准备/步骤:

  1. 把控性能需求准备性是否准确(可以用运维的数据来确定需求准确性)

  2. 确认性能测试的目的

  3. 脚本编写,

  4. 场景设计,搭建环境(独立环境)

  5. 搭建监控

  6. 性能分析(性能测试执行,问题分析调优)

 

性能测试的关键项研究:

  1. 核心功能 + 用户使用量高

  2. 架构调整

  3. 重大缺陷修复

  4. 性能指标量化(量化到数字)

    确定:并发用户数范围,平均响应时间范围,错误率范围,资源利用率范围,TPS范围.......

 

 性能测试环境:

  独立测试环境,独立测试网络(避免代理或VPN导致的瓶颈)

  性能人员需掌握linux环境搭建,硬件配置尽可能与生产机保持一致

 

 

性能概念:

  IT的性能概念:

  直观感受:响应时间,稳定性,支持多少人使用

  注:端性能测试,一般不好直接作为性能指标判断,因为可变因子太多了,前端做测试的相对较少,因为它不具备普遍性

    ***做后端服务器的性能测试能普遍提升用户端的性能

    ***接口 采用 协议,传递数据到服务器,收到响应

     

  1、概念:用不同的角度,来衡量被测对象,给出一些数据,通过数据判断性能的好坏。

  2、性能测试:通过工具,找出或获得系统不同情况下的性能指标

     通过工具:服务端性能测试,是要用【多用户】发起请求,如果发起的请求用户只有1个,就不是性能测试

        100个人,请求1次,==== 才是性能测试(是性能测试)

 

        1个人,请求100次,==== 不是性能测试(100的线程使用同一个身份信息对于被测服务器来说收到的是1个用户,前面的身份信息会失效或被提出或其他错误,导致数据不准确,或身份信息被锁死(线程锁和数据库锁)--前一个信息未处理完,后面数据又过来会锁死,导致时间变长)

        jmeter工具:使用线程来模拟多用户

        loadrunner工具:使用线程或进程来模拟多用户

        ngrinder工具:使用进程+线程组合方式来模拟多用户

        loust工具:使用协程来模拟多用户

    找出或获得:

        第一次做性能测试,得到的数据,找出性能数据

        不是第一次做性能测试,获取新的性能测试数据

    数据(性能指标):从不同角度衡量服务器性能数据

        时间:平均响应时间数据 

        同一时间有多少用户数请求:并发用户数QPS数据 

        服务器每秒能处理多少个事务:TPS数据  

        服务器在一段时间中,资源使用情况:资源利用率数据

        网络:吞吐量,吞吐率

    运行时间:

       使用的并发用户数,做性能测试,只需几分钟到十几分钟

   性能测试完成后,会得到一批性能指标数据。

 

多少在线用户与多少在线使用用户的区别?

  在线用户:在线,但不请求(挂机);在线,同时请求

    在行业中,一般在线用户数的5%-10%作为并发用户数

    二八法则:前端性能测试,前端调用接口请求服务器(80%的请求在20%的时间内:一天访问100W,80%的请求在24*20%的时间内)

    服务端性能测试,不用二八法则

  在线使用用户:

    并发:同一时间点有多少个请求

    并行:在不同的通道上同时处理

  

  3、负载测试概念:  

     通过逐步增加并发用户数,来找出最大用户数区间

     关键词:逐步增加

     测试步骤:在不知道系统支持的多少并发数时,先做负载测试,找出最大并发数,然后用最大并发数来运行性能测试,从而得到性能指标值

        1. 一般而言,产品日总访问量大概在百万级别,接口的并发数只有几十到几百的并发数        

     区间判断: 最大可接受的并发用户数

        1. 看请求的结果是否有连续性的报错出现

        2. 当前并发用户数的平均响应时间不超过1.5s (APDEX用户满意度指数1.5s)(行业默认标准—http协议的响应时间)(大数据测试除外)

        3. 服务器处理事务TPS趋势是否有明显的下降

       请求数与并发数区别?

          1.  并发用户数,在一段时间发送多少请求,与频率有关

          2.  总请求数 = 并发用户数 x 频率 x 时间

     具体区间:

        1.  用区间下沿 与 区间上沿 再设计一个负载场景,这时,步长变短

     运行时间:

        1.  一般几十秒到几分钟

  4、压力测试概念:无指标,看是否宕机(因为生产机一直运行)

     使用一定量的并发数用户数,持续运行一段时间,看服务器的稳定性

     关键词:持续运行(现在以小时为单位,以前以天为单位)

        测试步骤:产品的最大可接受的并发数,(一般为为80%的并发数)

     运行时间:几个小时到天

      注:稳定性测试是压力测试的一种,它的一个子集

  5、压测概念:

     企业中的压测 

       1.  首先,不知道最大并发数,先做负载测试

       2.  然后,用最大可接受的并发数,做性能测试,获取性能指标值

     环境有宕机情况,做压测 

       1. 压测:负载测试 + 性能测试 + 压力测试

  6、容量测试概念:

     数据库的数据量级别,万级,十万级,百万级

       1. 索引:未加索引,影响查询效率

       2. 相关表数据量:与生产环境的数据库的表数据量级别保持一致或更高

  

性能测试:广义指所有的概念:压力测试,负载测试,容量测试

       狭义指的是负载测试

 

 

 

 

        

      

    

 

      

      

      

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM