zoukankan      html  css  js  c++  java
  • Jmeter系列(8)- 阶梯加压线程组Stepping Thread Group详解

    转自:https://www.cnblogs.com/poloyy/
    先下载插件:Custom Thread Groups

    image-20201216163359317

    一、前言

    • Stepping Thread Group 是第一个自定义线程组
    • 但,随着版本的迭代,已经有更好的线程组代替 Stepping Thread Group了(Concurrency Thread Group),所以说Stepping Thread Group已经是过去式了
    • 但,咱们还是要介绍下的滴

    二、Stepping Thread Group的特性

    • 有预览图显示估计的负载
    • 可延迟启动线程组
    • 可持续增加线程负载
    • 可设置最大负载的持续运行时间

    三、Stepping Thread Group的作用

    • 减少服务器的瞬时压力,做性能测试应该逐步增加压力,而不是瞬时加压
    • 逐步增压越平缓越好,更容易从结果看到多少压力值下,有性能瓶颈

    四、Stepping Thread Group参数详解

    img

    • this group will start:表示总共要启动的线程数;若设置为 100,表示总共会加载到 100 个线程
    • first,wait for:从运行之后多长时间开始启动线程;若设置为 0 秒,表示运行之后立即启动线程
    • then start:初次启动多少个线程;若设置为 0 个,表示初次不启动线程
    • next add:之后每次启动多少个线程;若设置为 10个,表示每个梯次启动 10 个线程
    • ``threads every:`当前运行多长时间后再次启动线程,即每一次线程启动完成之后的持续时间;若设置为 30 秒,每梯次启动完线程之后再运行 30 秒
    • using ramp-up:启动线程的时间;若设置为 5 秒,表示每次启动线程都持续 5 秒(和基础线程组的ramp-up一样意思)
    • then hold load for:线程全部启动完之后持续运行多长时间,如图:设置为 60 秒,表示 100 个线程全部启动完之后再持续运行 60 秒
    • finally,stop/threads every:多长时间释放多少个线程;若设置为 5 个和 1 秒,表示持续负载结束之后每 1 秒钟释放 5 个线程

    4.1 从负载预览图,读懂所有参数

    img

    • 从第0秒开始启动线程,每 5 秒内启动10个线程并且运行30秒,以此循环,直到一共启动了 100 个线程
    • 当已启动 100 个线程后,持续负载运行60秒
    • 持续负载运行60秒后,每 1 秒释放五个线程,直到全部线程被释放【注意:线程释放过程中,线程依然在运行】

    五、结合Active Threads Over Time

    • 运行Stepping Thread Group需要和Active Threads Over Time结合起来使用,这样能看到动态的阶梯加压效果
    • 可以看到和Stepping Thread Group负载预览图基本一致,证明加压效果是正常的

    img

  • 相关阅读:
    线程锁(互斥锁Mutex)及递归锁
    threading模块,python下的多线程
    笔试面试题实现
    Socket编程,SocketServer模块
    iOS开发- 文件共享(利用iTunes导入文件, 并且显示已有文件)
    iOS 根据文件名获取到文件路径
    IOS UILabel自动换行
    🐤小记
    iOS 获取当前月份的天数(转)、
    IOS 在Ipad 横屏 上使用UIImagePickerController
  • 原文地址:https://www.cnblogs.com/dongye95/p/14144754.html
Copyright © 2011-2022 走看看