首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JMeter -每秒实现所需请求

JMeter -每秒实现所需请求
EN

Stack Overflow用户
提问于 2018-02-06 14:53:17
回答 1查看 2.6K关注 0票数 1

我在JMeter中使用'bzm -并发线程组‘和’常量吞吐量计时器‘的组合来实现所需的’每秒请求‘是有困难的。

结构

我的测试结构如下:

螺纹组1

  • 常通定时器
  • HTTP请求

螺纹组2

  • 常通定时器
  • HTTP请求

螺纹组3

  • 常通定时器
  • HTTP请求

螺纹组4

  • 常通定时器
  • HTTP请求

我希望为每个线程组实现160个并发用户。

线程组1我的目标是每秒发出350次请求,其他请求的目标是每秒160次请求。

线程组有160作为“目标并发”。恒定吞吐量计时器有21000线程组1 (350 rps*60 =每分钟21000 )。恒定吞吐量计时器有9600为其他(160 rps*60= 9600每分钟)。

它们都有“基于这个线程的计算吞吐量”

目前,线程组2-4的吞吐量仅为80 rps,线程组1的吞吐量不到10。

我已经允许JMeter使用4GB的内存,并且在测试期间我不会使用所有这些。当我移除所有的吞吐量计时器时,我可以达到多达14k的rps。

我是不是遗漏了什么?是否有更好的方法来实现我想要的吞吐量?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-06 15:45:09

没有达到每秒所期望的请求数量的原因可以是:

  1. 线程组中没有足够的线程
  2. 由于缺少资源,JMeter无法发送足够快的请求。
  3. 测试中的应用程序响应不够快。

关于第1点,请注意,常数吞吐量计时器只能暂停线程,以便JMeter的吞吐量限制在每分钟所需的请求数。

如果您使用并发线程组,则切换到吞吐量成形定时器更有意义,它可以通过反馈回路连接到并发线程组,这样JMeter就能够启动额外的线程以达到所需的RPS速率。

您可以使用JMeter插件管理器安装吞吐量整形定时器

关于第2点:确保您正在跟踪JMeter最佳实践,并在运行JMeter的机器上监视基线OS健康指标,如果缺少CPU或内存,您可能需要考虑分布式测试

关于第3点:与第2点相同的方法是使用分析工具来查看应用程序花费最多时间的地方

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48645784

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档