gpt4 book ai didi

gatling - 使用 Gatling 发送随机请求

转载 作者:行者123 更新时间:2023-12-02 08:09:21 34 4
gpt4 key购买 nike

我有一个文件,其中包含一个 Json 请求正文。我想使用 constantUsersPerSec(..) 对每秒发送恒定请求数的网络进行基准测试。

但是,每次发送请求时,我都希望从请求列表中获取它(随机或循环,我不在乎)。

我无法弄清楚如何使用 Gatling 来做到这一点。使用以下代码,请求被随机选择一次,并一遍又一遍地发送相同的请求。这不是我想要的

我的代码:

class GcStressManyRequests extends Simulation{ 
...
...
val httpProtocol: HttpProtocolBuilder = http
.baseURL(baseUrl)
.contentTypeHeader(contentType)

var requests = Source.fromResource("bodies/requests.txt").getLines().toIndexedSeq
val random = new Random(System.currentTimeMillis())

val scn: ScenarioBuilder = scenario("AE prod requests")
.exec (
http("bid_request")
.post(endpoint)
.body(StringBody(requests(random.nextInt(requests.length))))
.asJSON
.check(status.is(200)))

setUp(
scn.inject(
constantUsersPerSec(400) during (1 minutes),
).protocols(httpProtocol))

}

最佳答案

我看到您在文本文件 bodies.txt 中有您的请求。对于您的任务,我会使用 Feeder (检查步骤 03)。使用馈线,您可以从项目列表中随机检索项目并在通话中使用它。您必须采取的步骤才能使其发挥作用:

  1. 将您的文本文件转换为 csv 文件,csv 文件只需要一个标题,然后是值。每个值一行。假设您将 header 命名为“请求”。
  2. 创建一个供稿器:

    val random_request = csv("bodies.csv").random
  3. 编辑场景:

     val scn: ScenarioBuilder = scenario("AE prod requests")
    .feed(random_request) //Puts a random request in your session.
    .exec (
    http("bid_request")
    .post(endpoint)
    .body(StringBody(${request})) //Retrieve the request from current session.
    .asJSON
    .check(status.is(200)))

    setUp(
    scn.inject(
    constantUsersPerSec(400) during (1 minutes),
    ).protocols(httpProtocol))

关于gatling - 使用 Gatling 发送随机请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48572284/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com