• 全栈性能测试教程之性能测试相关知识(二) Jmeter的应用


    性能测试相关知识(二) Jmeter的应

     1、性能测试的方法

    1.1验收负载测试:

    QA的环境模拟生产运行的业务压力和使用场景组合,测试系统的性能是否满足生产环境的性能诉求。

    1.2负载测试

    在被测系统上持续不断的增加压力,直到性能指标(响应时间等)超过预定指标或者某种资源(CPU&内存)使用已达到饱和状态。核心是找到系统的处理极限,为系统调优提供数据,从而达到了解系统性能的容量。

    1.3压力测试

    该发放是指系统在一定饱和状态下,具体如CPU,内存等饱和使用的情况下,系统能够处理的会话能力,以及系统是否会出现错误,比如TimeOut

    OOM OverstackExpection(堆栈异常).压力测试的特点:

    1、检查系统在处于压力情况下时应用的性能表现

    2、等价于负载测试,使系统的资源处于一个瓶颈的状态(建议CPU和内存在75%以上)

    3、这种方法一般用于测试系统的稳定性

    1.4配置测试

    被测环境软硬件环境参数的调整,达到最优的分配原则。

    1.5并发测试

    并发测试指的是模拟用户的并发访问,测试多用户并发访问同一个应用时是否存在死锁或者其他的问题,并发测试的特点是:

    1、发现系统中可能隐藏的并发访问的问题

    2、关注系统可能存在的并发问题,如内存泄漏,线程锁,资源争用情况

    3、使用的测试工具如profiler等

    1.6可靠性测试

    给系统一定的业务压力,让应用持续运行一段时间,测试系统在这种条件下是否能稳定运行。

    1.7故障演练

    故意的在过程中 让程序出现问题,看程序自己能不能平稳的过渡 考验的是团队的合作能力

    1.8灾难恢复测试

    灾难恢复测试指的是,故意把数据删除了 看程序怎么进行自我数据恢复

    2、JMeter性能测试

    2.1JMeter执行原理

    JMeter通过线程组来驱动(也可以理解称为LR工具里面的虚拟用户)运行测试脚本对目标服务器发起大量的网络请求

    在每个客户端上可以运行多个线程组,也就是说一个测试计划里面可以包含N个线程组。

     2.2线程属性

    2.2.1线程数

    线程数指的是模拟的用户数 可以用于并发场景来运用,线程数越多,则模拟用户数就越多

     2.2.2Ramp-Up

    每秒执行多少个用户  计算方式为 线程数/Ramp-Up=每秒执行的线程数

    如下图所示 即为每秒执行5个线程组

     2.3持续时间

    持续时间指的是测试计划持续多长时间

    2.4启动延迟

    从当前时间延迟多久时间开始运行测试,也就是说点击执行后,仅仅是做初始化的场景,不会执行测试,等待延迟到达后开始运行测试,执行的时间为持续时间设置的时间。

     举例说明 每秒能处理5个线程 启动延迟设置为5秒 则 启动延迟结束后 瞬间发送延迟5*5=25个线程 后续每1秒执行5线程

    2.5聚合报告

    右键测试计划选择添加监听器当中的 聚合报告

    需要注意的是聚合报告和线程组是平级 且需要放在线程组的上面

     其中所有参数的含义如下表所示

    Label:取样器名称
    Samples:取样器运⾏次数
    Average:单个请求的平均响应时间
    Median:50%请求的响应时间
    90%Line:90%请求响应时间
    95%Line:95%请求响应时间
    99%Line:99%请求的响应时间
    Min:请求的最⼩响应时间
    Max:请求的最⼤响应时间
    Std.Dev:响应时间的标准⽅差
    Error%:事务错误率
    Throughput:吞吐率,也就是TPS
    KB/sec:每秒数据包流量
    Avg.Bytes:平均数据流量
    Received KB/sec:每秒从服务器端接收到的数据量
    
    SentKB/sec:每秒从客户端发送的请求的数量
    
    
    

    2.6响应时间图

    右键线程组 选择添加监听器里的响应时间图

     在运行测试后 在查看响应时间图

  • 相关阅读:
    axios基本用法、axios如何发起网络请求?如何二次封装axios?
    Python---变量作用域与闭包
    使用Redis实现缓存及对应问题解决
    批量替换文本中的多组字符串
    AR人体姿态识别,实现无边界的人机交互
    代码随想录——单词接龙(图论)
    江湖再见:毫米波雷达开发手册之行为识别应用
    【C语言必知必会 | 子系列第二篇】深入剖析顺序结构(2)
    Nginx反向代理实现Vue跨域注意事项
    精简代码 减少冗余
  • 原文地址:https://blog.csdn.net/csdnchengxi/article/details/128154278