Ramp-up还必须⾜够短,保证最后⼀个线程在第⼀个线程完成之前开始运⾏
    Ramp-up需要设置⾜够⻓的时间来避免在测试刚开始时⼯作量过⼤

    如何确定⼀个合理的ramp-up period
    Jmeter 基本功能 - 图1 ⾸先,让初始点击率接近平均点击率,前提是确定合理的访问量
    Jmeter 基本功能 - 图2 初始的 ramp-up period = 平均点击率= 总线程/点击率;假如线程数 =100,点击率=10次/s,则ramp-up period = 100/10 = 10s

    TPS
    Jmeter 基本功能 - 图3 总的完成请求数 = 线程总数 * 循环次数
    Jmeter 基本功能 - 图4 平均TPS = 总请求数 / 线程运⾏总时间
    Jmeter 基本功能 - 图5 实际的TPS是由服务器决定的,因为它是衡量服务器处理能⼒的性能 指标

    ⽤户定义的变量
    Jmeter 基本功能 - 图6 这⾥⽤户添加的变量,相当于全局变量, 所有线程组都共⽤
    Jmeter 基本功能 - 图7 ⼀般添加⼀些系统常⽤的配置
    Jmeter 基本功能 - 图8 ⼀般不建议在测试计划上添加变量,因为不⽅便启⽤(disable)和 禁⽤(enable)

    逻辑控制器的简介
    Jmeter 基本功能 - 图9 逻辑控制器可以⾃定义决定发送请求的时机的逻辑
    Jmeter 基本功能 - 图10 还可以更改其⼦元件的请求的顺序
    Jmeter 基本功能 - 图11 逻辑控制器可以组合使⽤,然后获取不同的结果

    线程组下不同组件的执⾏优先级/顺序
    1. 配置元件、监听器
    2. 前置处理器
    3. 定时器
    4. 逻辑控制器
    5. 取样器
    6. 后置处理器
    7. 断⾔

    使⽤定时器时
    Jmeter 基本功能 - 图12 可以在取样器下添加定时器,这样定时器只会作⽤于当前取样器
    Jmeter 基本功能 - 图13 也可以在线程组下添加多个定时器,统计定时器的总和,然后作⽤于线程组下的所有取样器

    断⾔的介绍
    Jmeter 基本功能 - 图14 可以断⾔服务器的响应内容
    Jmeter 基本功能 - 图15 在性能测试脚本中使⽤断⾔,⼀般是为了调试脚本
    Jmeter 基本功能 - 图16 在接⼝⾃动化测试中使⽤断⾔,⼀般是为了严谨的校验接⼝响应内容 是否符合预期

    性能测试中是否应该使⽤断⾔
    ⼤多数情况下不可以使⽤断⾔,因为断⾔不仅会增加响应时间,拉低最终的结果值,还会占⽤系统资源

    配置元件介绍
    Jmeter 基本功能 - 图17 配置元件和取样器的关系⼗分紧密
    Jmeter 基本功能 - 图18 ⽐如说常⽤的: HTTP默认值,设置数据库连接, FTP连接等

    ⽤户⾃定义变量
    Jmeter 基本功能 - 图19 ⽤户⾃定义变量在测试计划运⾏后,是全局⽣效的且只⽣成⼀次,它 不是动态⽣成的;从测试结果可以看到,即使变量的值是随机数(Random),不同⽤户数循环多次,拿到的⽤户⾃定义变量值都是⼀ 样的
    Jmeter 基本功能 - 图20 拓展:如果想要每次⽤户⾃定义变量的值是动态⽣成的,可以使⽤前置处理器-⽤户参数

    数据库
    Jmeter系列(30) - 详解 JDBC Request - ⼩菠萝测试笔记 - 博客园 (cnblogs.com)
    Jmeter系列( 31) - 获取并使⽤ JDBC Request 返回的数据 - ⼩菠萝测试笔 记 - 博客园 (cnblogs.com)

    CSV跨平台
    Jmeter 基本功能 - 图21 ${P(user.dir,)}${P(file.separator,)}test.txt 可以根 据不同的系统,不同的 Jmeter 安装路径,⾃动获取 Jmeter 路径,然后再获取不同系统下的⽂件路径分隔符,最后加上⽂件名称拼成⽂件路径
    Jmeter 基本功能 - 图22 这样就可以解决使⽤ CSV 数据⽂件做参数化时,跨平台导致路径不 ⼀致的问题
    Jmeter 基本功能 - 图23 重点前提:CSV ⽂件放在 Jmeter 的 bin ⽬录下,且通过 bin ⽬录运 ⾏ Jmeter

    ForEach
    Jmeter 基本功能 - 图24 ForEach 控制器⼀般和⽤户⾃定义变量/JDBC结果变量⼀起使⽤,⽤ 于可以遍历读取相关的返回值
    Jmeter 基本功能 - 图25 该控制器下的 Samplers 和控制器都会被执⾏⼀次或多次,每次读取 不同的变量值
    Jmeter 基本功能 - 图26 ForEach 控制器和正则提取器是个好搭档,因为正则提取出来的变量 值会⽤ 分隔,⽽ ForEach 可以省略

    image.png