Taurus - API 负载测试

问题描述 投票:0回答:2

我们正在使用 Taurus 进行 API 负载测试,想知道增加 RPS 限制应考虑的可能配置是什么?

根据 Taurus 文档,要计算 RPS,我们应该使用公式。

RPS = 并发数/(加速 + 保持)

但是对于给定的配置,我无法超过 250 RPS 的阈值

execution:
  - concurrency: 600
    ramp-up: 40s
    hold-for: 10m
    scenario: api_scenari
load-testing blazemeter taurus
2个回答
0
投票

我能想到几个可能的原因:

  1. 您根本没有提供足够的线程(虚拟用户),请尝试使用

    1200
    而不是
    600
    ,看看 RPS 是否会提高两倍。

  2. 金牛座由于缺乏资源而发送请求的速度不够快。看一下本地监控小部件,看看CPU、RAM、网络等的使用情况如何。如果事实证明您的机器无法足够快地发送请求,您将需要切换到分布式测试

  3. 运行API的服务器超载,根本无法更快地响应。在这种情况下,您可以报告该问题或调查瓶颈的根本原因。

更多信息:如何将(并发)用户数与每秒点击次数关联起来


0
投票

对于我一直在运行的测试,我们确定它是第(2)点。具体来说,机器无法足够快地发送请求。该机器已分配16GB内存和10核CPU。我已经对不同数量的用户 1/10/20/50/100/200/400/800 运行了各种测试。但是在一定数量的线程下,每秒的点击次数不会超过 200 次/秒,也就是说,即使线程加倍,每秒的点击次数也不会改变。

有效的方法是在同一台机器上同时运行两个 Taurus 测试实例。这表明不是服务器接受 API 导致了问题。它能够应对超过 200 次点击/秒。然而,如果测试是在分布式模式下运行,则总共有 5 个脚本,其中 3 个代表以下吞吐量要求:

脚本 1:100 次点击/秒 脚本 2:200 次点击/秒 脚本 3:300 次点击/秒

我可以为脚本 1 和 2 创建两个单独的 JMX 文件。但是,我可以对脚本 3 做什么?这些脚本使用带有吞吐量调整计时器的并发线程组。我想知道在报告和确保实现吞吐量方面它是如何工作的。还需要对 API 服务器进行压力测试。

还有其他人遇到过这个问题吗?

© www.soinside.com 2019 - 2024. All rights reserved.