1.性能初识

性能1

  1. 什么是性能测试
    通过一定的手段(工具、代码等在并发情况下获取系统的各项性能指标,验证被测系统在高并发下的处理能力、稳定性等是否可以满足我们对系统的预期。

  2. 什么样的系统才需要做性能测试

    1. 用户量大,日活很高的系统
    2. 系统核心模块/核心接口
    3. 业务逻辑复杂的模块
    4. 新的技术选型
    5. 电商类项目促销和活动
    6. 性能容量评估及规划
    7. 日常性能回归
  3. 性能测试重要指标TPS

    1. 什么是TPS?
      其实就是每秒服务器能处理的事务数。自然是单位时间内处理的越多越好。
    2. 什么是事务?
      事务可以是一个业务操作,也可以是多个业务操作的集合,这取决于你想怎么定义。
      例:这里举一个曾经在组里说过的例子,就用吃饭来说吧。吃饭这个动作可以是一个事务。从办公室走出去,再到食堂、打饭、坐下、拿筷子、吃饭,这一连串的动作也可以认为是一个事务。每一个动作都可以当成是系统的一个接口,组合在一起就是一个大的事务。
  4. 时间
    性能测试中时间肯定就是金钱啊,这个时候就需要你越快越好了。这里常用的指标有响应时间、平均响应时间和top时间。在解释这些时间前,我们先看一下系统的流程是什么样的。
    在这里插入图片描述

    1. 响应时间:就是 网络传输的时间 + 各个环节业务处理时间;
    2. 平均响应时间:就是整个过程中所有请求消耗时间的平均值;
    3. top时间:分为90% 95% 99%,这些可以在聚合报告中看到。
    4. 为什么不采用平均时间,而要再弄个95%响应时间呢?
      因为平均响应时间在性能测试中并不完全可靠,如果有10个请求,最快的一个耗时100ms,最慢的一个耗时500ms,其他8个都在300ms左右,那么平均响应时间为300ms左右,你会觉得有什么大问题吗?如果只看平均响应时间,这个500ms耗时的接口你就会无法关注到,也就错失了性能测试发现的问题。
  5. 其他的一些指标

    1. 并发数:简单理解就是工具中设置的线程或者进程数量。

    2. PV:页面访问量,即页面浏览量或点击量,用户每次刷新即被计算一次。可以统计服务一天的访问日志得到。

    3. UV: 独立访客,也可以称之为日活,统计1天内访问某站点的用户数。可以统计服务一天的访问日志并根据用户的唯一标识去重得到。
      成功率及失败率:就是整个测试过程中接口请求成功的数量/失败的数量 除以 总请求数

    4. 吞吐量:吞吐量是指系统在单位时间内处理请求的数量,TPS是吞吐量的常用量化指标。TPS越高,吞吐量越大。
      对于并发数、TPS、响应时间的关系
      在这里插入图片描述
      「由图可以得知」:在系统到达瓶颈前,并发数和TPS是成正比关系,吞吐量也随着TPS的增大,越来越大。

      TPS = 并发数 / 响应时间(s) 「该公式在任何情况都可以计算TPS」

      举个例子来说吧。假设要测试的是一个工厂,原本有10个工人,现在我们增加产线工人(也就是并发数),刚开始一段时间,每条生产线的产量都是越来越高。但是当工人达到一定数量时(瓶颈),一条产线就能挤得下那么多人,给你10000个人也只能在那排队等干货,所以产量不会再继续增大了。图上的这个曲线拐点就是我们想要寻找的结果。

      TPS(工厂的每秒生产数量) = 并发数(工人数) / 响应时间(工人生产一件商品的时间)

      这样看起来是不是就好理解多了。TPS和响应时间是反比的关系,工人数不变,工人生产的效率高了,时间短了,TPS就越高。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值