控制加特林中的每秒请求数和超时阈值



我正在做一个加特林模拟。 在我的一生中,我无法让我的代码达到每秒 10000 个请求。 我已经阅读了文档,我一直在使用不同的方法等等,但我每秒的请求数似乎上限为每秒 5000 个请求。 我已经附加了我当前的代码迭代。 URL 和路径信息模糊不清。 假设我对模拟的 HTTP 部分没有问题。

package computerdatabase
import io.gatling.core.Predef._
import io.gatling.http.Predef._
import scala.concurrent.duration._
//import assertions._
class userSimulation extends Simulation {
  object Query {
    val feeder = csv("firstfileSHUF.txt").random
    val query = repeat(2000) {
                feed(feeder).
                exec(http("user")
                .get("/path/path/" + "${userID}" + "?fullData=true"))
    }
  }
  val baseUrl = "http:URL:7777"
  val httpConf = http
    .baseURL(baseUrl) // Here is the root for all relative URLs
  val scn = scenario("user") // A scenario is a chain of requests and pauses
    .exec(Query.query)
   setUp(scn.inject(rampUsers(1500) over (60 seconds)))
        .throttle(reachRps(10000) in (2 minute),
                  holdFor(3 minutes))
        .protocols(httpConf)
}

此外,我想将超时的最大阈值设置为 100ms。 我尝试使用断言和编辑配置文件来执行此操作,但它似乎从未在测试期间或我的报告中出现。 如果请求时间超过 100 毫秒,如何向 KO 设置请求? 感谢您对此事的帮助!

我最终弄清楚了这一点。 我上面的代码是正确的,我知道理解 Stephane,Gatling 的主要贡献者之一正在解释的内容。 当时的服务器根本无法处理我的 RPS 阈值。 这是一个无法触及的上限。 对服务器进行更改后,我们可以处理这种延迟。 此外,我找到了一种在配置文件中在 100ms 时超时的方法。 具体来说,requestTimeout = 100 将导致我正在寻找的超时行为。

最新更新