在 Gatling 中控制每秒请求数和超时阈值
Controlling requests per second and timeout threshold in 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)
}
另外,我想将超时的最大阈值设置为 100ms。我曾尝试通过断言和编辑配置文件来做到这一点,但它似乎从未出现在测试期间或我的报告中。如果请求时间超过 100 毫秒,如何将请求设置为 KO?感谢您对此事的帮助!
我终于弄明白了。我上面的代码是正确的,我知道加特林的主要贡献者之一斯蒂芬在解释什么。当时的服务器根本无法处理我的 RPS 阈值。这是一个无法达到的上限。对服务器进行更改后,我们可以处理这种延迟。此外,我在配置文件中找到了一种在 100 毫秒时超时的方法。具体来说,requestTimeout = 100 将导致我正在寻找的超时行为。
我正在研究加特林机模拟。对于我的一生,我无法让我的代码达到每秒 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?感谢您对此事的帮助!
我终于弄明白了。我上面的代码是正确的,我知道加特林的主要贡献者之一斯蒂芬在解释什么。当时的服务器根本无法处理我的 RPS 阈值。这是一个无法达到的上限。对服务器进行更改后,我们可以处理这种延迟。此外,我在配置文件中找到了一种在 100 毫秒时超时的方法。具体来说,requestTimeout = 100 将导致我正在寻找的超时行为。