NMBXN3-002/3 性能测试的基本概念

响应时间(网络时间(N1+N2+N3+N4)+ 服务器处理时间(A1+A2+A3))
准备工作:千兆交换机
服务器:在日志里面打印代码的处理时间
8g,16c(核CPU)
数据库:打开慢查询,看执行计划
最直接的表现:CPU一般会很高,用户态CPU很高
数据:20-40w才会体现

性能关注点 -
应用服务器,数据库服务器 资源利用率
支持多少用户 系统容量
最大的并发用户 -
是不是可以更换硬件提高性能,优化代码,优化 sql 语句 可扩展性
稳定性:能不能支持 7*24 小时处理业务 稳定性(99.99%)
开发 -
架构设计是否合理 系统架构
数据库设计 -
代码逻辑 代码
线程 -

性能测试的方法-性能测试

a 点到 b 点之间的性能测试,指以系统预期性能指标为前提,对系统不断增加压力,以验证系统是否达到预期性能。

性能测试

图中:
a 点:性能期望值
b 点:高于期望值,系统资源处于临界点
c 点:高于期望值,拐点
d 点:超过最大负载,系统崩溃

性能测试的方法-负载测试

定义:50-100-150:系统不断增加压力,知道响应时间或 tps 达到一个拐点
特点:

  • 该方法主要目的是找到系统处理能力的极限
  • 该方法在给定的测试环境下进行,通常需要考虑被测系统的业务压力量和典型场景
  • 该方法一般用来了解系统的性能容量,或者配合性能调优来使用

性能测试的方法-压力测试

负载一定(比如说100),持续运行一段时间,比如7*24小时来验证系统的稳定性

性能测试的工具对比

LR jmeter
入手很快,3个部分(学起来很快) 入手比较慢一些(很多元件,什么插件)
录制脚本,很简单;兼容性很重要,以后不录制;Lr函数 第三方插件 badboy;也不录制
报表(很齐全)手机数据,都可以完成 需要添加很多插件(tps,响应时间,CPU,内存)
场景设计比较简单 新的线程组,不是自带的
大并发的时候数据比较准确 不准确(tps 很高,响应时间小一点)
线程和进程(java vuser 协议) 只支持线程
- 测试单个sql,直接用 jmeter 比较方便

性能测试的步骤

1、项目性能调研
2、性能需求分析
3、性能目标确定
4、测试脚本开发
5、测试执行
6、测试结果分析

性能测试关注的常用指标

  • 并发
    狭义的并发:用户在同一时间内做同一件事情
    广义的并发:有很多用户在同时操作不同的功能---混合场景
    在性能测试中,一般先进行狭义的并发,再进行广义的并发
    性能测试的时候:
    1、单场景单接口做性能测试,更好的定位问题
    2、混合场景(系统的稳定,在多个关联接口时,会不会出现新的问题)
  • 并发用户数
    系统用户数:系统的注册用户数,有可能是僵尸用户
    在线用户数:登录系统的用户,他的状态是在线的,但是并不一定对服务器产生压力
    并发用户数:对服务产生压力的用户,可能在线用户有N个,只有20%的用户不断地提交订单或者获取订单列表,产生了压力,这里就是20%是并发用户数,登录只有30%,获取商品只有50%
  • 事务
    事务是性能脚本中的一个重要特性。要度量服务器的性能,需要定义事务,每个事务都包含事务开始和事务结束标记。事务用来衡量脚本中一行代码或多行代码的执行所耗费的时间。
    例如:访问某个柠檬班的网页,可以把浏览首页定义为一个事务,也可以把登录定义为一个事务,还可以把浏览首页+登录定义为一个事务,主要看你实际的需要
    登录单独:统计时间比较准确
  • 响应时间
    响应时间是指从客户端发出请求到得到响应的整个过程的时间。这个过程从客户端发送一个请求开始计时,到客户端接到从服务器端返回的响应结果计时结束。
    提示:web 的 HTTP 请求中响应时间包括了前端渲染时间,但是在 loadrunner 中是不统计前端渲染时间的
  • TPS
    每秒钟系统能够处理的交易或事务的数量。他是衡量系统处理能力的重要指标。TPS 是 LoadRunner 中重要的性能参数指标。
    它是基于事务统计出来的
  • 吞吐量
    不严格意义上说就是 tps
  • 点击率(Hit Per Second)
    从客户端发起请求服务器的数量
    衡量客户端性能的指标
    网络的问题或者本机的问题
  • 资源利用率
    资源利用率是指系统资源的使用程度,比如服务器(网络及数据库)的 CPU 利用率,内存利用率,磁盘利用率,网络带宽利用率等
    CPU:它就像是人的大脑,主要进行判断和处理,能反映出系统的繁忙程度。一般分为系统 CPU(%sys) 与用户 CPU(%use),其中系统 CPU 是处理系统本身所占用的资源,用户 CPU 则是处理程序所占用的资源,对象不同
    Load Average:指一段时间内 CPU 正在处理和等待 CPU 处理的人物,也就是 CPU 使用队列的长度的统计信息,这里的 Load Average 值就好像地铁里等待进站上车的乘客,越多则 Load Average 值也越大。
    Memory:它就像是人大脑的记忆区域,讲各种信息收集起来存放,数据从内存读取要比从磁盘上读取速度快,而内存经常发生内存泄漏或内存溢出的现象。
    队列:可以理解成地铁进站的配对现象,对猎场,说明处理能力可能达到了基线或遇到了阻塞。
    网络:重点关注网络的流量,看是否存在网络带宽的瓶颈。

你可能感兴趣的:(NMBXN3-002/3 性能测试的基本概念)