jmeter负载测试中如何找到最大并发用户数(实战)

本文介绍了如何通过JMeter的SteppingThreadGroup插件进行负载测试,逐步增加并发用户数以找出系统能承受的最大并发用户数。在第一次测试中,确定了系统的最大并发用户数区间为10~20。接着,通过减少步长进行第二次测试,最终确定系统最大并发用户数为16。关键指标包括平均响应时间超过1.5秒和TPS下降趋势。

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

前言

在性能测试中,当我们接到项目任务时,很多时候我们是不知道待测接口能支持多少并发用户数的。此时,需要我们先做负载测试,通过逐步加压,来找到最大并发用户数。那么当我们找到一个区间,怎么找到具体的值呢?

在区间中逐步增加步长,出现以下任意现象时,即是最大并发用户数:

1.出现连续报错

2.平均响应时间超过1.5秒(1.5秒是行业标准)

3.tps出现下降趋势

负载测试概念

逐步增加并发用户数,找出被测系统的最大可接受的并发用户数,并考察系统性能的变化。

脚本总体设计:

场景介绍:

1.首先用插件管理器下载插件jpgc - Standard Set,然后重启jmeter

2.添加线程组jp@gc - Stepping Thread Group

3在线程组下添加请求取样器和其他配置元件,并填写接口参数,本文的被测接口为注册接口

4.添加监听器:

jp@gc - Active Threads Over Time(活跃线程数随时间变化图)

jp@gc - Response Times Over Time(响应时间随时间变化图)

jp@gc - Transactions per Second(tps随时间变化图)

5.jp@gc - Stepping Thread Group填写数据,场景为在5秒内增加10个并发用户数,并运行30秒,再继续在5秒内增加10个并发用户数,重复循环,直至并发用户数达到50个后运行脚本60秒。然后在每1秒内减少5个并发用户数,直到减为0,结束脚本的运行。

6.第一次运行脚本,结束后观察数据:

 由图形得知:1.当并发用户数为20时,平均响应时间超过1.5秒

                       2.tps全程没有出现明显的下降趋势,也没有出现连续的报错

 第一次运行脚本分析:因此得出结论,系统的最大并发用户数为10~20区间

我们已经得出系统的最大并发用户数为10~20区间,那么具体是多少呢? 接下来要减少步长,并进行第二次的测试

7.jp@gc - Stepping Thread Group填写数据,场景为以10个并发用户数为基准,在1秒内增加1个并发用户数,并运行30秒,再继续在1秒内增加1个并发用户数,重复循环,直至并发用户数达到20个后运行脚本60秒。然后在每1秒内减少5个并发用户数,直到减为0,结束脚本的运行。

 8.第二次运行脚本,结束后观察数据:

 

 

由图形得知:1.当并发用户数为17时,平均响应时间超过1.5秒

                       2.tps全程没有出现明显的下降趋势,也没有出现连续的报错

 第二次运行脚本分析:因此得出结论,系统的最大并发用户数为16

### 不同版本的 DeepSeek-R1 模型参数量差异与性能对比 #### 参数规模概述 DeepSeek-R1 系列模型提供了多种不同的参数规模,具体包括 1.5B、7B、8B、14B、32B 和 70B 版本。这些不同大小的模型旨在满足多样化的需求,从小型应用到大型复杂任务均有覆盖[^1]。 #### 性能特点分析 - **小型化高效模型** 对于资源受限环境下的应用场景而言,较小尺寸如 1.5B 或者 7B 的模型能够提供较为理想的效率与效果平衡。这类轻量化设计使得它们可以在较低配置硬件上运行良好,同时保持不错的推理质量。 - **中等规模优化模型** 当涉及到更复杂的自然语言处理任务时,像 8B 及 14B 这样的中间规格则显示出更好的适应性和准确性提升。特别是在特定领域内的专业知识理解方面有着更为出色的表现。 - **高性能旗舰型号** 而对于追求极致性能的研究人员来说,则可以选择更大容量比如 32B 或者最高达 70B 参数级别的顶级配置。此类超大体量网络结构不仅具备更强的数据拟合能力,在多项权威评测指标上的得分也名列前茅,甚至超过了某些知名竞争对手的产品线,例如 OpenAI-o1-mini。 值得注意的是,虽然存在提及 671B 参数量的信息,但在当前提供的参考资料里并没有关于此特别巨大体积的具体描述或验证记录。因此可以推测这可能是误传或者是未来计划中的开发目标之一而非现有产品序列的一部分。 ```python # Python 示例代码用于展示如何加载不同参数量的预训练模型 from transformers import AutoModelForCausalLM, AutoTokenizer model_names = [ "deepseek-r1-1.5b", "deepseek-r1-7b", "deepseek-r1-8b", "deepseek-r1-14b", "deepseek-r1-32b", "deepseek-r1-70b" ] for name in model_names: tokenizer = AutoTokenizer.from_pretrained(name) model = AutoModelForCausalLM.from_pretrained(name) input_text = "Once upon a time," inputs = tokenizer(input_text, return_tensors="pt") outputs = model.generate(**inputs, max_length=50) generated_text = tokenizer.decode(outputs[0], skip_special_tokens=True) print(f"\nGenerated text by {name}:") print(generated_text) ```
评论 26
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

测试小航

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值