zoukankan      html  css  js  c++  java
  • JMeter——线程组&聚合报告

    一、线程组分类

    线程组元件是任何一个测试计划的开始点。在一个测试计划中的所有元件都必须在某个线程下。所有的任务都是基于线程组。

    上图可以看到,jmeter有三个添加线程组的选项,名字不一样, 但是创建之后,其界面是完全一样的。

    1、setup thread group

     一种特殊类型的ThreadGroup的,可用于执行预测试操作。这些线程的行为完全像一个正常的线程组元件。不同的是,这些类型的线程执行测试前进行定期线程组的执行。

     应用场景举例:

    • 测试数据库操作功能时,用于执行打开数据库连接的操作;
    • 测试用户购物功能时,用于执行用户的注册、登录等操作;

    2、teardown thread group

     一种特殊类型的ThreadGroup的,可用于执行测试后动作。这些线程的行为完全像一个正常的线程组元件。不同的是,这些类型的线程执行测试结束后执行定期的线程组。

     应用场景举例:

    • 测试数据库操作功能时,用于执行关闭数据库连接的操作;
    • 测试用户购物功能时,用于执行用户的退出等操作;

     注意:

      默认情况下,如果测试按预期完成,则TearDown线程组将不会运行。 如果你想要运行它,则需要从Test Plan界面中选中复选框“Run tearDown Thread Groups after”。  

    3、thread group(线程组)

     这个就是我们通常添加运行的线程。通俗的讲一个线程组,可以看做一个虚拟用户组,线程组中的每个线程都可以理解为一个虚拟用户。线程组中包含的线程数量在测试执行过程中是不会发生改变的。

    二、线程组配置

    线程组元件是任何测试计划的起点。一个测试计划的所有元件必须在一个线程组下。由名字可以看出,线程组元件控制JMeter运行测试时使用的线程数。

    1、取样器错误后要执行的动作:

    • 继续:忽略错误,继续执行
    • Start Next Thread Loop: 忽略错误,线程当前循环终止,执行下一个循环。
    • 停止线程:当前线程停止执行,不影响其他线程正常执行。
    • 停止测试:整个测试会在所有当前正在执行的线程执行完毕后停止
    • Stop test now:整个测试会立即停止执行,当前正在执行的取样器可能会被中断。

    这几个配置项控制了“当遇到错误的时候测试的执行策略”是否会继续执行。

    2、设置线程数:

    线程数也就是并发数,每个线程将会完全独立的运行测试计划,互不干扰。多个线程用于模仿对服务器的并发访问。

    3、设置ramp-up period:

    ramp-up period用于设置启动所有线程所需要的时间。

    如果选择了10个线程,并且ramp-up period是100秒,那么JMeter将使用100秒使10个线程启动并运行。每个线程将在前一个线程启动后10(100/10)秒后启动。

    当这个值设置的很小、线程数又设置的很大时,在刚开始执行时会对服务器产生很大的负荷。

    4、设置循环次数:

    该项设置线程组在结束前每个线程循环的次数,如果次数设置为1,那么JMeter在停止前只执行测试计划一次。

    5、Delay Thread creation until needed:

     默认情况下,测试开始的时候,所有线程就被创建完了。如果勾选了此选项,那么线程只会在合适的需要用到的时候创建。

    6、线程组调度器:

    调度器配置可以更灵活的控制线程组执行的时间。

    1、持续时间(秒):控制测试执行的持续时间,以秒为单位。

    2、启动延迟(秒):控制测试在多久后启动执行,以秒为单位。

    3、启动时间:控制测试在某个时间点启动。但这个配置会被“启动延迟”配置覆盖。

    4、结束时间:控制测试执行的结束时间。但这个配置会被“持续时间”配置覆盖。

    如果不想立即执行执行,可以通过调度器控制测试执行的开始时间和结束时间。

    当测试开始时,如果设置了调度器,JMeter将等待直到到了开始时间。在每个周期结束,JMeter将会检查是否到达结束时间,如果达到,停止运行;否则测试继续运行直到达到了重复限制。

    三、聚合报告数据分析

    • Label -请求对应的name属性值。
    • Samples - 具有相同标号的样本数,总的发出请求数。
    • Average - 请求的平均响应时间。
    • Median -50%的样本都没有超过这个时间。这个值是指把所有数据按由小到大将其排列,就是排列在第50%的值。
    • 90% Line - 90%的样本都没有超过这个时间。这个值是指把所有数据按由小到大将其排列,就是排列在第90%的值。
    • 95% Line - 95%的样本都没有超过这个时间。这个值是指把所有数据按由小到大将其排列,就是排列在第95%的值。
    • 99% Line - 99%的样本都没有超过这个时间。这个值是指把所有数据按由小到大将其排列,就是排列在第99%的值。
    • Min -最小响应时间。
    • Max -最大响应时间。
    • Error % -本次测试中,有错误请求的百分比。
    • Throughput -吞吐量是以每秒/分钟/小时的请求量来度量的。这里表示每秒完成的请求数。
    • Received KB/sec -收到的千字节每秒的吞吐量测试。
    • Sent KB/sec -发送的千字节每秒的吞吐量测试。

    引用:

    https://segmentfault.com/a/1190000017015817

  • 相关阅读:
    a Makefile
    Fedora的一些个人配置
    开机默认命令行
    挂载iso文件
    Vi不显示insert
    beego 框架基本使用 && 知识点整理
    kafka的安装及使用(单节点)
    Go 实现短 url 项目
    晓看天色暮看云,铁马冰河入梦来
    Go net/http,web server
  • 原文地址:https://www.cnblogs.com/caoweixiong/p/13297988.html
Copyright © 2011-2022 走看看