我在加特林写了这个简单的测试
$results = mysqli_query($conn, $sql);
$num_rowspris = mysqli_num_rows($results);
我测试了超过10000次调用的createRandomUser方法,它总是生成随机用户。
但是这个代码在Gatling内部运行时,开始在短短10秒的运行时抱怨重复的用户
我怀疑Gatling中的每个用户都会调用我的随机方法一次,但是然后重新使用相同的对象。
我做了一些谷歌搜索,发现Feeders:
val createUser = http("create user")
.post("form/submit")
.body(StringBody(RequestBuilder.createRandomUser())).asJSON
.check(status.is(200))
setUp(
scn.inject(
atOnceUsers(25),
rampUsers(10) over (5 seconds),
constantUsersPerSec(30) during(10 minutes)
)
).protocols(httpConf)
但这不起作用。
如何确保每次发出请求时......都会调用我的随机数据方法。
答案 0 :(得分:1)
我在这里找到了答案
https://www.reddit.com/r/scala/comments/6p1za3/any_gatling_experts_here/dkm64nc/
val feeder = Iterator.continually(Map("user" -> (RequestBuilder.createRandomRequest())))
def createRespondent = http("createuser")
.post("form/submit")
.body(StringBody("${user}").asJSON
.check(status.is(200))
scenario("my load test")
.feed(feeder)
.exec(createRespondent)