gatling - Gatling:随时保持固定数量的用户/请求
问题描述
我们如何在某个场景中同时保持固定数量的活动并发用户/请求。
我有一个独特的测试问题,我需要在给定时间段(如 10 分钟或 30 分钟或 1 小时)内对具有固定请求数量的服务进行性能测试。
我不是在寻找每秒的东西,我在寻找的是我们从 N 个请求开始,随着 N 个请求中的任何一个请求完成,我们再添加一个,以便在任何给定时刻我们只有 N 个并发请求。
我尝试过的事情是,rampUsers(100) over 10 seconds
但我看到有时在给定实例中有超过 50 个用户。
constantUsersPerSec(20) during (1 minute)
也采取了请求的数量 t0 50+ 一段时间。
atOnceUsers(20)
似乎相关,但我看不到任何方法可以让它在给定的秒数内运行并在之前的请求完成时添加更多请求。
提前感谢您的社区,期待您的一些指导。
解决方案
有一个限制机制(https://gatling.io/docs/3.0/general/simulation_setup/#throttling)允许您设置最大请求数,但您必须记住,用户被注入到模拟中,而您必须注入足够多的用户来产生最大数量的请求,否则你最终会得到较低的请求/秒。此外,将被注入但由于限制而无法发送请求的用户将在队列中等待他们轮流。它可能会在油门结束后导致巨大的负载,或者可能会延长您的模拟,因此最好让油门时间长于喷射时间并maxDuration()
在模拟设置中添加选项。
您还应该记住,受限制的模拟远非用户行为的自然方式。他们在打开页面或进行任何操作之前从不等待其他用户完成,因此在现实生活中,您总是会以每秒可变数量的请求结束。
推荐阅读
- javascript - 用于折叠 HTML 块的 Javascript 代码未运行
- c# - 从通用字符串中获取可能的字谜的数量,需要一个快速的解决方案
- symfony - Symfony 4 - 安全性 - 从多个防火墙相互共享上下文
- python - 如何通过 Python 脚本使用 ./ 执行命令行程序?
- angular - 使用 Angular 和 Ionic 上传大文件
- javascript - data-toggle="tab" 和 data-toggle="collapse" 不起作用
- javascript - 从 Promise 访问数据
- html - HTML、CSS:在调整大小时通过过渡调整 IMG 大小
- c# - .NET Core 3.1 API 调用使用 Windows 身份验证保护的 .NET Framework WCF 服务(AD 组)
- python - 如何使用 tkinter 在 python 中选择多个文件或整个文件夹(显示它包含的所有文件的名称)?