Jmeter 性能压测-常见问题

1、怎么确定系统最大负载?

通过负载测试,不断增加用户数,随着用户数的增加,各项性能指标也会相应产生变化,当出现了性能拐点。

比如,当用户数达到某个数量级时,响应时间突然增长,那么这个拐点处对应的用户数就是系统能承载的最大用户数

2、系统哪些地方(哪些功能)做了性能测试?

选用了用户使用最频繁的功能来做测试。

比如:登陆,搜索,提交订单

3、并发用户数是怎么确定的?

会先上线一段时间,根据收集到的用户访问数据进行预估;

根据需求来确定,使用高峰时间段,注册用户数,单次响应时间等;

4、实现200用户的并发?

在脚本对应的请求后添加集合点(绝对并发)

相对并发:线程组设置200线程数

5、什么情况下要做关联,怎么做的?

当脚本的上下文有联系,就用关联。

比如登录token关联,增删改查主键id关联

6、有验证码的功能,做性能测试?

将验证码暂时屏蔽,完成性能测试后,再恢复;

使用万能的验证码;

7、性能测试做的是前台还是后台?

BS项目:测试的是后台服务器的性能和浏览器端性能

APP项目:手机端和服务器端的性能都做

8、如何脚本增强?

  1. 做参数化

  2. 做关联

  3. 添加事务

  4. 添加断言

  5. 添加集合点(jmeter的同步定时器)

  6. 添加思考时间(jmeter的统一随机定时器和固定定时器)

9、怎么找到并发数、平均响应时间、TPS的最佳平衡点?

性能测试常用的指标有三个:并发、响应时间、TPS

  1. 并发:跑道里参加赛跑的人数(这里的并发是广义的并发,即同一个时间段内对系统发起的请求数量)

  2. 响应时间:也就是平均每个事务的处理时间

  3. TPS:每秒处理的事务数

需求指标:分为单指标和多指标

  1. 单指标:一般是单测试tps,或者根据并发测试响应时间,或者根据响应时间测试并发,只考虑单指标的很少

  2. 多指标:要同时考虑多个指标,比如tps + 响应时间(<1s)

意思就是要找到这三个指标同时最佳值的点,即:不能只追求并发数大,而忽略TPS。

所以,这是一个多指标性能需求,假设是这样的:要求响应时间1秒以内,并发数要尽可能的多,TPS要尽可能的大。

图片

先画一个简单的示意图,方便大家理解:

随着并发数增加,响应时间肯定是越来越高,所以,上面红线是响应时间;

随着并发数增加,tps是先升高到峰值,然后下降(也可能是一直平稳,或者平稳一段时间再下降),所以,上面蓝线是tps;

紫色表示并发用户数;

该怎么去找这个最佳平衡点呢?

①尽可能多的做不同并发数下的压测,记录下响应时间(1s以内)和最大TPS。

当然,服务器端,各个服务器的资源利用率在可接受范围内(每个公司不一样)

②然后根据获取到的不同并发下的指标数据(并发数、tps、响应时间),画出图,关注右侧的交点,即tps下降的地方和响应时间的交点,这个点的tps最大。

如果响应时间在1s以内,此时并发数也是比较大的,这个点就可以认为是三个指标都不错的平衡点(这里把tps放在第一位优先考虑了,这个就看大家最在乎哪个指标了,排个优先级);

如果响应时间大于1s,最佳平衡点就往左找,找到响应时间为1秒的点,此时对应的tps和并发值,就是最佳平衡点。

总之,测试采样越多,获取的平衡点就越准确。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:【文末小卡片领取】

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

  • 17
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JMeter 是一个功能强大的开源性能测试工具,用于评估应用程序的性能和负载能力。在进行性能压测时,它会生成一系列关键的指标,这些指标有助于分析测试结果并优化系统。以下是 JMeter 常见的一些性能压测指标: 1. **吞吐量(Throughput)**:指在一定时间内系统处理请求的能力,通常以每秒请求数(RPS, Requests Per Second)或并发用户数表示。 2. **响应时间(Response Time)**:从发送请求到接收响应的时间,包括等待时间、处理时间和传输时间。 3. **成功率(Success Rate)**:测试期间成功完成的请求占总请求的比例,表明系统的稳定性和可靠性。 4. **平均响应时间(Average Response Time)**:所有请求的平均响应时间,可以帮助识别瓶颈和性能瓶颈点。 5. **最大响应时间(Max Response Time)**:单次请求的最大响应时间,高值可能表明某部分处理速度较慢。 6. **错误率(Error Rate)**:请求中出现错误的比例,如 404 错误、超时或服务器内部错误等。 7. **事务吞吐量(Transaction Throughput)**:针对特定交易(事务)的吞吐量,例如登录、下单等操作。 8. **磁盘 I/O 和内存使用**:这些资源的占用情况,过度使用可能导致性能下降。 9. **并发用户/线程(Concurrent Users/Threads)**:在测试过程中同时运行的用户或请求的数量,超过这个阈值可能导致系统崩溃。 10. **压力测试曲线(Load Test Curve)**:随着时间的推移,吞吐量、响应时间和错误率的变化趋势图,有助于识别性能变化的拐点。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值