我们正在使用 Taurus 进行 API 负载测试,想知道增加 RPS 限制应考虑的可能配置是什么?
根据 Taurus 文档,要计算 RPS,我们应该使用公式。
RPS = 并发数/(加速 + 保持)
但是对于给定的配置,我无法超过 250 RPS 的阈值
execution:
- concurrency: 600
ramp-up: 40s
hold-for: 10m
scenario: api_scenari
对于我一直在运行的测试,我们确定它是第(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 服务器进行压力测试。
还有其他人遇到过这个问题吗?