Jmeter系列(10)- 阶梯加压线程组Stepping Thread Group详解

简介: Jmeter系列(10)- 阶梯加压线程组Stepping Thread Group详解

如果你想从头学习Jmeter,可以看看这个系列的文章哦

https://www.cnblogs.com/poloyy/category/1746599.html

 

前言


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

 

Stepping Thread Group的特性


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

 

Stepping Thread Group的作用


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

 

Stepping Thread Group参数详解


image.png

  • 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 个线程

 

 

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

image.png


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

 

结合Active Threads Over Time


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

image.png

相关文章
|
1月前
|
Java 中间件 API
【C/C++ 线程 】深入浅出:理解 std::thread 的局限性
【C/C++ 线程 】深入浅出:理解 std::thread 的局限性
71 2
|
1月前
|
存储 前端开发 算法
C++线程 并发编程:std::thread、std::sync与std::packaged_task深度解析(一)
C++线程 并发编程:std::thread、std::sync与std::packaged_task深度解析
94 0
|
1月前
|
存储 并行计算 Java
C++线程 并发编程:std::thread、std::sync与std::packaged_task深度解析(二)
C++线程 并发编程:std::thread、std::sync与std::packaged_task深度解析
98 0
|
12天前
|
算法 安全 Java
【.NET Core】 多线程之(Thread)详解
【.NET Core】 多线程之(Thread)详解
19 1
|
18天前
|
Java 调度
Java 多线程系列Ⅰ(创建线程+查看线程+Thread方法+线程状态)
Java 多线程系列Ⅰ(创建线程+查看线程+Thread方法+线程状态)
|
18天前
|
Java 程序员
Java中的多线程编程:理解并应用Thread类和Runnable接口
【5月更文挑战第28天】在Java中,多线程编程是一个重要的概念,它允许同时执行多个任务。本文将深入探讨Java的多线程编程,包括Thread类和Runnable接口的使用,以及如何在实际项目中应用这些知识。我们将通过实例来理解这些概念,并讨论多线程编程的优点和可能的挑战。
|
19天前
|
Java 调度
"ava多线程基础-4:详解Thread类及其基本用法(二)
本文介绍了Java中线程中断和等待的相关概念。
25 0
|
19天前
|
Java Linux API
Java多线程基础-4:详解Thread类及其基本用法 (一)
Java 中的 `Thread` 类是用来管理线程的,每个线程都是通过 `Thread` 类的对象来描述。
56 0
|
24天前
|
Java
【JAVA学习之路 | 提高篇】创建与启动线程之二(继承Thread类)(实现Runnable接口)
【JAVA学习之路 | 提高篇】创建与启动线程之二(继承Thread类)(实现Runnable接口)
|
24天前
|
Java 调度
【JAVA学习之路 | 提高篇】进程与线程(Thread)
【JAVA学习之路 | 提高篇】进程与线程(Thread)