JMeter压力测试:单接口压测和多场景混合并发

本文介绍了如何使用JMeter进行单接口压测和多场景混合并发测试。在单接口压测中,通过设置线程数、加速器时间和循环次数来调整并发用户数和请求频率。对于多场景混合并发,通过创建多个线程组并按比例设置并发用户数,实现不同业务场景的混合并发测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

单接口并发压测

首先介绍下单接口压测,使用Jmeter的线程组进行设置:

1、线程数:并发用户数

2、Ramp-Up Period(in seconds):加速器/秒

3、循环次数:线程运行的次数

一般想要看稳定性,会设置循环次数或者永远循环,持续循环调用请求。。

如果要看压测,会设置线程数,同时多用户访问。

  • 假设线程数、Ramp-Up Period(in seconds)、循环次数分别为1、1、10,结果为:每秒跑一个线程,共跑10次,等同于分别设置1、1、1的场景下连续操作10次;产生10条数据。
  • 假设线程数、Ramp-Up Period(in seconds)、循环次数分别为10、1、1,结果为:1秒内并发10个用户同时请求,即单接口压测;产生10条数据。

多场景混合并发

接下来介绍多场景混合并发,利用Jmeter的多线程组进行并发测试。

假设业务场景和混合并发的占比是这样的:

操作步骤:

1、Jmeter上创建一个测试计划;</

### 如何使用 JMeter 进行混合业务场景压力测试 #### 创建线程组 为了模拟不同的用户行为,在JMeter中可以创建个线程组,每个线程组代表一组具有特定行为模式的虚拟用户。对于混合业务场景来说,这意味着要设置至少两个以上的线程组来表示不同类型的操作。 ```xml <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup"> <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> <!-- 定义并发数 --> <elementProp name="ThreadGroup.main_controller" elementType="LoopController"/> ... </ThreadGroup> ``` #### 设定不同类型的请求 针对每一种业务逻辑,应该构建相应的HTTP请求或其他协议请求(如WebSocket, FTP等)。这些请求应当被放置在线程组内部,并且可以根据实际需求调整参数以反映真实用户的交互方式[^1]。 #### 使用控制器控制流量比例 利用“吞吐量定时器”或“通过put控制器”,能够精确地管理各个事务发生的频率以及它们之间的相对权重。这有助于更贴近实际情况地分配资源给不同的API调用路径。 例如,如果希望某些交易比其他交易发生得更加频繁,则可以在相应采样器前添加`Constant Throughput Timer`组件并指定期望TPS(Transactions Per Second)[^2]. #### 添加监听器监控结果 最后一步是在试计划里加入各种各样的监听器用于收集统计数据、绘制图表甚至保存日志文件以便后续分析。常用的有聚合报告(Aggregate Report), 查看结果树(View Results Tree) 图形化结果显示(Graph Results). ```bash # 启动JMeter GUI模式运行脚本 jmeter -n -t /path/to/testplan.jmx -l /path/to/resultsfile.csv ```
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值