Jmeter性能测试入门&主要指标

整体内容

  1. Jmeter性能测试-性能测试基础
  2. Jmeter性能测试-环境配置与脚本制作
  3. Jmeter性能测试-脚本制作与优化
  4. Jmeter场景执行与分布式
  5. Jmeter分布式与持续集成
  6. Jmeter性能分析与性能测试流程

本篇内容

  1. 性能测试导论
  1. 什么是性能测试
  2. 性能测试前提(重点)
  1. 性能测试主要指标(重点)
  1. 响应时间
  2. 并发数
  3. 吞吐率
  4. 资源使用率
  1. 性能测试工具
  1. 自研工具
  2. loadrunner
  3. jmeter

重点:

  • 性能测试前提
  • 性能测试主要指标
    难点:
  • 常说的性能测试相关概念区别

定位

  • 性能测试 初级+中级
    1. 掌握性能 测试流程,一般性能测试比功能测试和自动化测试的流程要长
    2. 懂得性能测试 脚本开发
    3. 懂得性能 场景设计 与资源监控
    4. 懂得 高并发 性能测试执行
  • 性能测试 高级
    1. 性能分析

什么是(软件)性能测试

软件性能测试:是用一定的技术工具找出验证某些性能指标值的测试。
(通过接口测服务器的性能,通过接口向服务器发起请求,测试服务器的性能情况)

  • 工具:python+locust库
  • 找出:模拟N多个人来访问,在他可接受的时间里面,给他正常的响应结果,不是都要准确无误的结果。大部分正常,部分错误,不能说是bug,只能说性能指标不能满足要求。
    包括可接受的时间范围(响应时间),就是性能测试中的性能指标。
    在项目、某个借口从来没有做过性能测试时,要获取性能指标值作为基准值。
    性能指标值:响应时间、并发用户数、服务器处理能力(TPS)、网络传输情况(吞吐量、吞吐率)、资源利用率
  • 验证:性能变化趋势,提升or降低,和之前的做对比

广义(软件)性能测试

  • “看看你有几斤几量”(负载测试):逐步增加并发用户数,发起请求,找到我们系统的拐点区间。
    关键词:逐步加压
    用97个并发用户数正常,用98个并发用户数出现异常。用97个并发用户数,持续运行一段时间,得到平均响应时间、服务器处理能力TPS、资源监控值、网络吞吐量/吞吐率,这就是当前性能测试的结果。
  • “鸭梨好大哦!”(压力测试):通过一定并发用户数,持续比较长的时间请求,查看我们服务器的稳定性。
    关键词:比较大的压力 + 比较长的时间 * 24
    以前做压测,是7天乘以24小时,现在的话,都是互联网敏捷项目,可以压一晚上,也至少可以有12个小时。6点下班压到9点上班,也超过12小时了,不耽误白天上班时间。
    97并发用户数的20%-30%持续比较长的时间,如果是97并发用户数的70%-80%持续时间可能就比较短一些了。一般不会用100%的最大并发用户数去做。

压测/负载/性能=负载测试(指标区间)+性能测试(准确的性能指标值)==>>测试报告
负载测试(并发用户区间)在前,压力测试(稳定性)在后。

生产服务器不稳定,三天两头宕机,这时候要做的是负载测试+性能测试+压力测试==>>测试报告

性能测试的前提

  1. 性能测试的必要性研究——关键项评估
  • 主管部门、监管部门审查
  • 涉及生命财产安全:银行系统、安防系统、医疗系统,电商系统中涉及到钱涉及到购买商品
  • 大型新系统
  • 核心系统
  • 架构调整
  • 业务副增:搞活动的时候,可能是一个页面或者某一些业务量剧增,对于活动页面或者可能剧增的关联业务进行性能测试
  • 重大缺陷修复
  1. 可测性——可以量化为性能指标值

要求:活动页面,能够支持10w人访问。
缺少了关键要素,比如多长时间支持10w。

日均访问10w/t,不需要要求接口支持500并发用户,或者100并发用户。
一般企业,每个接口的并发用户达到50个,基本上可以满足了。

性能测试的基本原则

首先,单接口,再多接口。
然后,多接口构成业务/模块。
然后,多业务混合。
然后,再系统。
最后,全链路。

性能测试的必备条件

  1. 独立服务器
  2. 独立网络

性能测试的主要指标

  • 并发/并发数/并发用户数
    并发:
    狭义:同一时间做相同事情
    广义:同一时间做不同事情,混合场景

并发数:单位时间内向服务器发起请求的用户数 virtual user

并发用户数:用于模拟真实用户向服务器发起请求的性能测试虚拟用户数量
系统用户数:只要访问过系统的用户,可能含一次性访问的用户
在线用户数:当前正访问系统的用户,不一定有压力

  • 响应时间 t1+t2+t3+t4 重要
    从发起请求到收到请求响应的时间
    网络传输时间 t1 t4
    服务器处理时间 t2 t3
    在这里插入图片描述
  • 吞吐量/吞吐率(事物/s Kb/s)====衡量 网络的重要指标
    吞吐量
    事务数
    吞吐率
    数据量
  • TPS(Transaction per second)——(服务器)最主要的性能指标
    服务器每秒通过事务数
    服务器处理事务数
    服务器综合能力的体现,这个指标是测出来的,不是算出来的。

TPS和QPS的区别?
QPS query per second,每秒查询率。
有些企业,TPS等于QPS,是简化版。不等于数据库的查询次数,也可以查询redis缓存,找文件缓存,就不走数据库。

  • 资源利用率(靠监控)
    资源
    cpu
    内存
    磁盘
    i/o

性能测试的工具

  • jmeter
  • loadrunner
  • 自研+python+locust

猜你喜欢

转载自blog.csdn.net/anniewhite/article/details/113791510