性能测试基础

发生性能事故的原因:

  • 并发的用户量突然增加
  • 性能测试做的不充分
  • 做性能测试时对并发预测的不准确

性能测试的目的:

  • 熟知系统的性能,交付高质量的系统
  • 性能事故造成的后果都很严重,性能测试可以降低成本,降低风险

性能测试分类:

  • 负载:找到系统的最大有效用户量(正常)
  • 压力:一定把系统测出问题来,找到系统的瓶颈(系统崩溃的节点)
  • 并发:找到系统某个功能的最大用户量(正常)
  • 稳定性:长时间运行时系统要满足客户的需要(正常)
  • 失效恢复测试:针对有冗余备份或者有负载均衡的系统进行的,当某个设备宕机后,系统能否正常的提供业务
  • 基准测试:把一组性能测试数据作为基准,然后修改软硬件环境,查看不同的软硬件环境对系统性能的影响
  • 配置测试:软件配置对系统性能的影响

性能测试:就是通过一定的方式对被测系统按照一定的测试策略施加压力,获取系统的响应时间,吞吐量,TPS(每秒事务数),资源利用率等性能指标,检测系统上线后能否满足用户需求的过程

  • 工具:jmeter,loadrunner,locust
  • 测试策略:逐渐加压,突然加压
  • 压力:大量请求

影响性能的原因;

  • 硬件:
    • CPU的处理能力
    • 内存的大小(内存泄漏,内存溢出,内存不足)
    • 硬盘(固态,机械硬盘)
    • 网卡(百兆和千兆)
  • 网络
    • 带宽
    • 网络稳定性
  • 被测系统
    • 算法
    • 代码深度(迭代,递归)
    • 资源回收与利用
    • 代码逻辑
  • 配置
    • JVM配置(栈,堆大小,垃圾回收机制)
    • 数据库连接池配置(最大连接数量,空闲连接时间)
    • 线程池
    • 消息队列配置
  • 数据库
    • 表中数据量大小(是否需要分库分表)
    • 慢SQL(关联查询,子查询)
    • 数据库索引(是否合理)
    • 表结构(是否合理,冷热数据[数据的冷和热取决与该字段的使用频率])
  • 中间件
    • 系统架构
    • 中间件的选择

性能测试开展时间:功能稳定后开展

相关术语:

  • 并发:

    • 侠义:一段时间内,大量用户请求同一个接口
    • 广义:一段时间内,大量的用户访问系统
  • 用户量:

    • 系统用户量:注册的用户

    • 在线用户量:登录系统的用户

    • 并发用户量:使用系统的用户

    • 在线用户n,平均并发用户C

      • C=nL/T
        
      • n:一天内使用系统的用户量(比如100万用户)

      • L:平均一次使用的时长 (比如用户登录系统后平均操作4分钟)

      • T:系统一天中频繁使用的时长 比如白天12小时(忽略晚上用户量很少的时段)

  • 集合点:同步定时器

  • 事务:将多个操作绑在一起,同时成功或失败

  • TPS事务率:单位时间内处理事务的量

  • RPS请求率:单位时间内处理请求的量

  • QPS查询率:单位时间内处理查询的量

  • RT:响应时间

  • ART:平均响应时间

  • 2-5-8原则(根据响应时间不同区分)

  • 吞吐量:一次测试过程中,系统能处理的数据量

  • 吞吐率:单位时间内,系统能处理的数据量

  • 思考时间:模拟用户的思考时间(固定计时器,随机计时器)

性能指标:

响应时间RT,吞吐率,TRS事务率,并发用户数,资源的利用率(CPU,内存,网络,硬盘),异常率

App系统额外的性能指标:耗电量,流量使用,弱网,启动时间,流畅度等

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值