性能测试工具 求大佬解惑 jmeter 压测

Senegal · 2024年10月09日 · 最后由 YHC 回复于 2024年10月10日 · 3626 次阅读

最近在工作中遇到了一些难题,老大让我压测 7 个 web 页面,应该是怎么设置脚本呢,我也找了一些资料,对这里还是没有什么概念。
1、创建 7 个线程组,每个线程组下放一个接口请求。
2、创建一个线程组,7 个请求都放在下面。
3、创建 1 个线程组,下面加个事物控制器,然后把 7 个请求放在控制器下。

具体怎么做才是正确的呢,1 和 2 有什么区别吗?
还有跑出的响应时间,TPS 等结果数据是以哪个为准呢,7 个接口的数据都不一样,是 7 个接口数据加起来,还是 7 个接口的加起来后的平均值,或者是按照 7 个接口中最差的那个数据为判断依据呢?

现在用第二种,很迷茫,希望有老哥可以解惑一下,万分感谢!

共收到 5 条回复 时间 点赞

在 Apache JMeter 中设置 7 个线程组和 1 个线程组的区别主要体现在以下几个方面:

1. 负载分布

7 个线程组:
每个线程组可以独立配置参数,如线程数、Ramp-Up 时间、循环次数等。
可以模拟不同类型的用户行为或不同的使用场景。例如,一个线程组可以模拟普通用户,另一个线程组可以模拟管理员用户。
更容易进行负载均衡和分布式测试,每个线程组可以独立地运行在不同的机器上。

1 个线程组:
所有虚拟用户共享相同的配置参数。
不适合模拟复杂的使用场景或多种类型的用户行为。
所有负载集中在一个线程组中,可能导致单点瓶颈。

2. 灵活性和可维护性

7 个线程组:
每个线程组可以独立配置和管理,便于维护和调整。
可以更灵活地添加或删除某些类型的测试,而不影响其他测试。
更容易调试和排查问题,因为每个线程组可以单独运行和分析。

1 个线程组:
配置较为简单,但灵活性较差。
修改一个测试场景可能会影响所有虚拟用户,增加了维护难度。
调试和排查问题时,需要处理整个测试计划中的所有请求,难以单独分析某一类请求。

3. 测试场景复杂度

7 个线程组:
可以创建复杂的测试场景,每个线程组模拟不同的业务流程或操作步骤。
更适合大规模、复杂系统的性能测试,可以细化到每种操作类型的性能评估。

1 个线程组:
适合简单、单一业务流程的性能测试。
不适合需要区分多种操作类型或用户行为的复杂系统。

单场景 1,混合场景 2,

先搞清楚测试目的,测试范围、测试场景(负载?容量?疲劳?or 其他)、业务指标等
确定这些才能弄清楚有几个事物,然后放到事物控制器下。
至于线程组,一般根据你测试需求来,比如你对同一个事物做负载测试和疲劳测试,参数肯定是不一样的,就弄多个线程。
类似以下格式:
/线程 1_负载/事物查看首页/news 请求
/线程 2
疲劳/事物_查看首页/news 请求

简单讲 如果 7 个 web 页面相互之间不关联,那就不同线程组各自压测各自的,但是如果其中关联,比如 A 页面新增用户,成功后跳到 B 页面落地成功页,那就可以放到一个线程组压测

接口执行是串行的,并且有前后关系的, 就放在一个线程组执行,可以做上下接口数据关联。
接口是并行的,就放在多个线程组里面

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册