如何解决如何对工作流执行进行性能测试?
我有 2 个 API
- 创建工作流(http POST 请求)
- 检查工作流状态(http GET 请求)
我想对完成工作流需要多长时间进行性能测试。
尝试了两种方法:
选项 1 创建了一个触发工作流创建 API 的 Java 测试,然后轮询状态 API 以检查状态是否变为 CREATED。我检查了这个过程所花费的时间,这给了我性能结果。
选项 2 使用 Gatling 做同样的事情
val createWorkflow = http("create").post("").body(ElFileBody("src/main/resources/weather.json")).asJson.check(status.is(200))
.check(jsonPath("$.id").saveAs("id"))
val statusWorkflow = http("status").get("/${id}")
.check(jsonPath("$.status").saveAs("status")).asJson.check(status.is(200))
val scn = scenario("CREATING")
.exec(createWorkflow)
.repeat(20){exec(statusWorkflow)}
加特林机并没有真正起作用(或者我以某种错误的方式在做)。加特林有没有办法合并多个请求并执行类似于选项 1 的操作
是否有其他工具可以帮助我对此类场景进行性能测试?
解决方法
我认为使用 Gatling 的 tryMax 时应该可以使用以下内容
.tryMax(100) {
pause(1)
.exec(http("status").get("/${id}")
.check(jsonPath("$.status").saveAs("status")).asJson.check(status.is(200))
)
}
注意:我没有在本地尝试过。有关 tryMax 的更多信息: https://medium.com/@vcomposieux/load-testing-gatling-tips-tricks-47e829e5d449(轮询:等待异步任务)
https://gatling.io/docs/current/advanced_tutorial/#step-05-check-and-failure-management
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。