在Gatling中控制每秒请求数和超时阈值

时间:2015-01-22 01:12:10

标签: scala gatling

我正在进行加特林模拟。对于我的生活,我无法让我的代码达到每秒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)

}

此外,我想将超时的最大阈值设置为100毫秒。我试图通过断言和编辑配置文件来做到这一点,但它似乎永远不会出现在测试期间或我的报告中。如果请求超过100毫秒,如何向KO设置请求?感谢您对此事的帮助!

1 个答案:

答案 0 :(得分:2)

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