JMeter压测上对于并发的认识误区
![](https://img2018.cnblogs.com/i-beta/1401386/201911/1401386-20191126154004663-695197549.png)
此时,没有再添加额外的控制器。上述中的参数设置解释:
Number of Threads(users): 启用的并发线程个数
Ramp0up Period(in seconds):在多少秒之内将上述并发的线程启动起来
Loop Count:控制循环次数
说明:
一个常见的误解,认为Number of Threads(users)设置为100,Ramp-Up Period(in seconds)设置为1,就是每秒发起100个请求量(错误)。
上述的设置,表示在1s内启动100个线程,之后,jmeter便以最大限度的100个并发进行压测,不能保证1s内只有100个请求。
我们用上述的设置,对某个接口进行压测,发现:
![](https://img2018.cnblogs.com/i-beta/1401386/201911/1401386-20191126154046681-1549905650.png)
Delay before each affected sampleer下的Target throughput(in samples per minute)设置的值为6000(由于单位是一分钟,如果要求QPS为100,则该值设置为60*100=6000)
Calculate Throughput based on的选项有5个(这里我选择all active threads),分别是:
1)This thread only:控制每个线程的吞吐量,选择这种模式时,总的吞吐量为设置的target Throughput 乘以改线程的数量。
2)all active threads:设置的target Throughput 将分配在每个活跃线程上,每个活跃线程在上次运行结束后等待合理的时间再次运行。活跃线程指同一时刻同时运行的线程。
3)all active threads in current thread group:设置的target Throughput将分配在当前线程组的每一个活跃线程上,当测试计划中只有一个线程时,改选项和all active threads选项的效果完全相同。
4)all active threads(shared):与all active threads的选项基本相同,唯一的区别是,每个活跃线程都会在所有活跃线程上运行一次结束后等待合理的时间后再次运行。
5)all active threads in current thread group(shared):与all active threads in current thread group 基本相同,唯一的区别是,每个活跃线程都会在所有活跃线程的上一次运行结束后等待合理的时间再次运行。
————————————————
相关文章
- 大厂都是如何对高并发系统做性能优化的?
- 【Linux开发】linux设备驱动归纳总结(四):5.多处理器下的竞态和并发
- Linux网络编程(六)-高并发服务器04:线程池【1个锁(用于锁住队列)、2个条件变量(一个用于阻塞“取任务线程”,一个用于阻塞“任务添加者线程(主线程)”)、1个任务循环队列(用于存放任务)】
- Jmeter多业务混合场景如何设置各业务所占并发比例
- Jmeter中一些概念的理解——90%响应时间、事务、并发
- Dubbo 是如何控制并发数和限流的?
- https大势已来?看腾讯专家如何在高并发压测中支持https
- JMeter之Ramp-up Period(in seconds)说明(可同时并发)
- Java 并发工具包 java.util.concurrent 用户指南
- 【jmeter——使用插件做性能测试 --- 并发、负载、压力】
- 并发编程——7.共享模型之工具
- Java高并发专题之2、并发级别
- WCF后续之旅(11): 关于并发、回调的线程关联性(Thread Affinity)
- 服务端高并发分布式架构演进之路
- 【并发编程037】由用户态切换到内核态的步骤?
- 【并发编程-001】线程和进程的区别?