性能测试基础概念

性能测试的基本概念:

  通过使用自动化工具或者代码模拟多个真实的用户对系统进行访问,关注各项性能测试指标是否符合设计要求。

性能测试的关注点----性能测试指标:

  1、响应时间(RT):衡量接口从请求到数据返回这一段时间消耗时间的指标

    业界标准:2/5/8     1/3/5

  2、事物通过率:成功的事务数/总的事务数

    业界标准: 普通类接口:95%    金融、支付类接口:99.8%

  3、吞吐率(TPS):衡量服务器处理能力的指标

    业界标准:满足自身发展需求(请求数/s、事务数/s)

  4、资源利用率:衡量服务器资源使用的指标

    CPU:CPU满了(70%-80%) CPU真的满了:(>=100%)

    内存:剩余内存>=5%

    磁盘:剩余磁盘内存>=5%

    网络:

性能测试的目的:

  1、满足需求方的需求

  2、提升、优化系统

  3、找出系统可能存在的缺陷,提前预防和解决问题

  4、重现问题

性能测试的时间:

  接口测试--->功能测试--->性能测试、UI自动化测试--->回归测试

性能测试模块或者功能:

  1、需求方要求做性能测试的功能和模块

  2、使用频繁的功能或者模块

  3、比较重要的功能或者模板(主流程、支付类等等)

  4、项目组或者开发组提出要做的功能和模块

性能测试的分类:

  负载测试、压力测试、容量测试、基准测试、配置测试

  1、负载测试--->找出系统的最优并发、和最大并发

    在一定的软件、硬件和网络下,模拟不同负载对服务器进行访问,观察他们各项性能指标是否满足需求

    使用jemter:

      step1:使用梯度加压找出系统的最优并发和最大并发

      step2:在最优并发和最大并发至少个找三组进行压力测试,时间一般为:5min、10min、30min

          知道现网流量可以直接使用现网流量附件找三组进行测试

      step3:查看压测后的结果是否满足性能测试指标

  2、压力测试--->找出系统可能出现的问题

    1)在一定的软件、硬件和网络下,模拟一定的负载对服务器进行访问,使服务器长时间在极限情况下,观察系统是否崩溃和崩溃时的各项表现

      一定负载:负载数固定(最大负载、最优负载、实际负载)

      长时间:12h*n,一般为:1天、2天、5天、7天、15天

      极限情况:最大并发

    2)压力测试分类:

      稳定性压力测试:最优并发、实际负载

      破坏性压力测试:最大并发

    3)压力测试容易发现的问题:

      内存泄漏:已分配的内存因为某种原因导致使用后未释放,不能自己使用,也不能给其他功能使用

      内存溢出:需要的内存大于系统可以分配的内存

            内存泄漏可能导致内存溢出:内存泄漏日积月累---->内存溢出

  3、容量测试:

    在一定软件、硬件和网络下,模拟一定负载想服务器发送不同级别的数据请求,观察系统在不同数据级别下的各项性能测试指标是否满足设计需求

      不同数据级别:在数据库构造的数据条数:个、十、百、千、万、十万、百万、千万...

  4、基准测试:

    在一定软件、硬件和网络下,在一个大版本的基础上同比增长(定基),观察系统各项性能指标是否满足增长需求

    例:搜索接口v1.0的响应实际为500ms,并发用户数为2000

      希望响应实际增快百分之20,并发数增加百分之10--->并发数为2200的情况下,接口也要满足响应时间400ms

  5、配置测试:

    在不同软件、硬件或网络下,使用不同的配置,观察不同配置是否满足各项需求

    例:centos 7 + tomcat8     win7 +tomcat7

性能测试结果分析

  1、分析性能测试指标是否通过测试

  2、分析不通过的原因--原则是由外到内,有表到里,层层深入

    例:响应时间不通过分析

    1)可以比较网络响应时间Tn和服务器响应时间Ts,可以确定是网络问题还是服务器问题

    2)进入分析,将出现问题的拆分成更细的组件,直到确定发生性能问题的原因

性能测试的环境:

  本地环境-->Dev环境-->test环境-->预发环境-->灰度环境-->生产环境

  test环境:可以用来做性能测试,注意数据的准确性,避免环境争夺引起数据不准确,最好选择晚上大家不使用环境时做性能测试

  性能测试换:专业的性能测试环境,只能用来做性能测试环境,一般环境配置等同于生产环境配置或者生产环境配置的等比缩放,例:生产环境4台4核8G,性能测试环境1台4核8G

  生产环境:可以做性能测试,必须要提前计划报备上级,性能测试之前必须要有资深领导带领,必须要考虑线上数据的备份,脏数据的清洗,用户的引流,最好选择偏僻的时间(凌晨1-5点)

性能测试流程:

  1、需求分析:那个模块那个功能,通过的标准,开始/结束时间

  2、测试计划:什么人,在什么地点,使用什么工具,使用什么策略

  3、测试设计:真实场景(用户真实、操作逻辑真实、并发数真实)

  4、测试实现:编写性能测试脚本

  5、测试执行:执行性能测试、记录数据

  6、测试结果分析:性能测试是否通过,不通过分析原因,为开发定位问题、提供可能的方案

    

 

posted @ 2022-01-11 23:55  youyouzipei  阅读(238)  评论(0)    收藏  举报