Jmeter之线程组详解
hello,更新几天的分享,线程数现在才分享,感觉怪怪的,原谅我没有考虑到一个顺序问题哈,那里总结好了,我就发那里,先把组件都写完,再来项目实战,希望大家不要责怪哈,内容有写的不详细的,或者我说错了,请大家回复我下,毕竟不想误人子弟,感谢各位的指点哈,不啰嗦了,上主题, 详解下线程组,当我们说多少多少并发的时候,也可以说一秒内,多少线程组*循环次数,这里需要注意的,这里的时间,是分配线程用的,比如线程数10,时间是5秒,循环2次,也就是说,一秒会执行两个线程*2次循环,一秒并发4次请求,这个大白话说的够白了。。。。
我们先说下这个:
Thread Group
- Name:任意,具有有意义的名字
- Comments:备注信息
- Action to be taken after a Sampler error
- a.Contiune:继续。某一个请求遇到错误后,其他请求继续执行。我们在大量用户并发的时候,某个请求失败属正常现象
- b.Start Next Thread Loop:如遇到错误后面的请求将不再执行,等下一轮再开始执行。例如线程组中包含登录和发帖2个请求,若登录请求失败,发帖请求将不再执行,等下一次重新迭代,从登录开始执行。
- c.Stop Thread:遇到错误就停止线程再也不执行了。例如线程组中有50个线程,其中某一个线程的某个请求遇到错误即停止线程不再执行,剩下49个线程继续执行。若线程错误的比较多,剩余的线程就较少,此时负载数量就不足了,测试结果不满足测试要求,因此一般不会勾选此项。
- d.Stop Test:某个线程某个请求遇到错误,停止所有线程,也就是停止整个测试,但是线程中的余下的请求还是会执行完再停止。例如线程1中包含登录和发帖2个请求,其他线程遇到错误,现在要全部停下来,线程1发帖请求还是会执行,然后再停止测试。
- e.Stop Test Now:遇到错误立即停止所有线程,即整个测试。
Thread Properties
- a.Number of Threads(users) :线程数,一个线程相当于一个虚拟用户
- b.Ramp-Up Period(in second):线程启动开始运行的时间间隔,单位秒。即所有线程在多长时间内全部启动。例如线程60个,Ramp-Up Period设置为20s,那么每秒启动60/20=3个线程,不填写默认设置为0,即所有线程在开启场景后立即启动。
- c.Loop Count:循环次数。勾选forever,将一直执行,除非手动停止或崩溃
Delay Thread creation until needed : 默认不勾选,测试开始的时候,所有线程就被创建完。勾选了此选项,那么线程只会在合适的需要用到的时候创建。
勾选,例如50个线程Ramp-Up Period为10s,那么每隔1s启动50/10=5个线程并运行下面的请求(状态为running);不勾选,测试计划开始后启动所有线程(状态为new),但是不立即执行下面的请求。例如50个线程Ramp-Up Period为10s,那么计划开始后所有线程全部就绪,但第一秒只有5个线程开始运行请求。实际应用中选择哪种都可以,不影响测试结果。
个人理解:例如银行办业务10个人,勾选,柜台只有一个人在办理(running状态),剩下的人可以坐在位置上等候;不勾选,10个人都站在柜台外面排队等候(不是坐着),等待叫号。
Scheduler:调度器
- a.Duration(seconds):持续时间,测试计划持续多长时间。
- b.Startup delay(seconds):启动延时。点击启动按钮后,仅初始化场景,不运行线程,等待延时时间到才运行。
启动时间结束时间,要注意下,小白的我,已为设置了时间就可以了,等我看时间到了,怎么还没有执行呢?后来想想,FUCK了,忘记点击开始按钮了,不要学我哈。。。。
这里要注意,如果设置开启延迟时间跟启动时间的话,启动时间失效,已启动延迟时间为准。
如果设置了无限循环,持续时间才可生效
相关文章
- 记一次性能优化的心酸历程【Flask+Gunicorn+pytorch+多进程+线程池,一顿操作猛如虎】
- 线程基本概念
- Java 的线程工厂 ThreadFactory原理及源码详解
- 详解JAVA线程问题诊断工具Thread Dump
- java 线程池底层原理详解与源码分析
- java 线程池底层原理详解与源码分析(补充部分---ScheduledThreadPoolExecutor类分析)
- Java多线程之深入理解线程池
- Linux简单线程池实现(带源码)
- RT-thread内核之空闲线程
- Java多线程:线程状态以及wait(), notify(), notifyAll()
- 干货分享:详解线程的开始和创建
- 面了个 5 年 Java,两个线程进行数据交换都不会,我真是醉了。。
- Winform非UI线程更新UI界面的各种方法小结
- ASP.NET Core – Thread, Task, Async 线程与异步编程
- 什么是线程死锁?
- 详解Tomcat线程池原理及参数释义
- 详解 Tomcat 的连接数与线程池
- 【操作系统】多线程之线程同步
- Qt新建线程
- 线程池底层队列详解
- 使用Python,OpenCV线程化方式提高视频FPS(每秒帧数)
- WebRTC系列- 线程详解
- android线程及线程池
- POSIX线程库(三)线程同步——信号量
- Java在不同线程中运行代码
- iOS开发Swift篇(02) NSThread线程相关简单说明
- 2019-8-31-dotnet-线程静态字段
- 线程详解