关于并发自己的见解

之前一直在纠结于并发数的问题,我一直都混淆了,并发数、每秒并发数、每秒完成请求数的概念。今天终于头脑稍微清醒了一点,就记录下来我的感悟。如有错误之处,请大家指正。其实我也只是一直小菜鸟。感谢JMeter交流群的大神们,我有引用你们的原话,希望不会介意。

首先说一下,并发数。并发数就是在线程组设置的线程数。

这里的线程数实际就是模拟的用户数。有多少个用户来执行请求。

Ramp-Up Period 的时间指的是在多少秒内启用所需模拟的用户(可怜我一直以为是持续执行时间)。这个时间不能太长,太长则会出现之前的用户已经执行完了要操作的请求结束掉了,但其他的还没启动起来。但也不能太短,太短则会产生太大的压力,缓慢加压也是压力测试的准则之一。具体的度,我还在摸索,后续会再写出来。

再有就是step的循环设置。


step中的循环,即代表每个模拟用户要执行该请求的次数。举例,模拟用户数是2400,循环为1.模拟用户是1200,循环是2.

在聚合报告中,显示的sample都是相等的。但是在请求是多个的时候,压力是不一致的,循环为1时,是2400个人同时争着去完成所要执行的请求。循环为2时,是1200个人,排着队去完成请求。

比如第一种 情况,并发6个线程,6s启动。,那么情况是这样的


第二种的话,并发6个,3s启动,循环设置2,那么是这样的


(这两张图让我的印象特别深)


那么该如何算去压测呢。之前我的领导一直执着于问我每秒并发数,我也就一直执着去寻找答案。但事实证明,JMeter中是没有每秒并发数的概念的。我就转换了概念,取了聚合报告中的Throughput,即每秒成功完成的请求数。具体的压测设置我是这样设置的,并发数设置一个值如3400,启动时间设为10s(这得看具体情况),设置step的循环为永远。添加runntime cotroller 设置持续运行时间为30分钟(时间过短,服务器还没有稳定)。这就等于说模拟了3400个用户,在30分钟内循环执行请求。最后查看聚合报告值中的90%响应时间,最大值和最小值,错误率,和throughput值。这样的思路进行的压测,更平均些。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值