性能测试学习Day01

对于性能测试工程师的需求:

  • 工具的使用
  • 分析性能测试数据,对数据进行分析,定位性能瓶颈,提出调优方案
  • 编写合格性能测试报告
  • 沟通表达,团队合作

性能测试工程师面临挑战?

以下场景发生在你身上,你会怎么做?

  • 场景:

    1. 假设基准5分钟,负载3个场景,每个场景10-30分钟,混合场景7*24h,领导给你一周时间完成
    2. 领导给你个任务,要求做性能测试,半个月内做完,你没接触过性能测试
    3. 你需要搭建性能平台,3天搭建完毕,你需要申请各种库权限,协调设备,和领导提交申请,由上级审批
  • 心理活动:

    1. 这是个不能完成的任务,各种想拿蓝:fire:机关枪突突领导,只能yy下
    2. 只恨自己没学过,发际线保不住了
    3. 流程这么慢,时间不够,咋搞
  • 结论:

    • 主要表现在资源不足上(资源不足,知识面不足)
    • 时间上应该给分配的任务留足够时间,做好提前量;人力方面需要和人员多沟通什么dba之类的,方面用到是方便开展工作;物力方面;提前给申请的需要开张项目的最低配设备,以防万一
    • 知识广度方面多学习积累,总结

性能测试

什么是性能?

  • 事务的性质和能效

哪些方面判断系统的性能的好坏:

  • 处理效率
  • 处理能力
  • 思考:
    效率高是否等同于处理能力强?

判断性能好坏的指标(响应时间,吞吐量)

  • 响应时间:响应时间是最能反应服务器性能的指标之一,也是用户最关心的业务体验

  • 吞吐量:吞吐量表示单位时间内能够完成的事务数量,因此也被称为每秒事务数(Transaction Per Second)

  • 性能的好坏评判标注是不绝对的,要取决于是否满足需求,客户至上

常见的性能指标

  • 响应时间:请求发送开始 ,到服务器的响应时间内容的总时间,反应系统的处理效率
    image

  • 吞吐量:反应一个系统的处理能力
    - pv
    - throughput:数量流量,可能是带宽,磁盘io
    - tps:每秒事务数,即服务器每秒钟处理完毕的事务的数量
    - qps

  • 资源利用率:
    - 网络,cpu,内存,磁盘io等系统资源使用情况

通常来说,资源利用率的监控往往更多的是用于分析,定位,而不是用来界定性能的好坏


负载用户的区分:

分类:

  • 系统最大用户数:不一定是真的人,可能是设备或运营需求阶段提出的想要达到的目标
  • 在线用户数:长期大量,同时使用系统的人数
  • 并发用户数:在线用户数数(在线及并发),产品,需求,客户,开发口中提及的并发

性能测试的概念:

  • 在一定的条件下,通过模拟系统的负载用户数向系统发起请求,从而测试系统的各项性能指标是否达标

性能测试的分类:

  • 负载测试,压力测试,容量测试,基准测试,配置测试,并发测试等

  • 负载测试:不同的负载测试级别下的性能表现,得到系统最大tps,最大有效负载用户数,最佳性能表现点等
  • 压力测试(稳定性测试):模拟系统极限情况下的负载,测试系统的稳定性
    - 关注指标:错误率(0/较低)
  • 容量测试:
    - 目的1:测试系统在指定容量下的性能表现
    - 目的2:评估系统在指定容量下的性能表现
  • 基准测试:
    - 目的:获取系统的响应时间的基准值
    - 方法:单用户运行足够次数,取平均值
    • 配置测试
      - 目的:获取系统最低配置和推荐配置
      - 最低配置:系统能够运行的最低配置
      - 推荐配置:不是最优配置:各项指标基本能够达到用户需求,允许存在一定的偏差。
  • 并发测试
    - 目的:在并发情况下,是否存在资源争用,事务冲突,锁的升级等现象