通过连接重复使用重复播放

时间:2016-01-25 07:47:37

标签: gatling

使用Gatling 2,是否可以重复连接重复使用?怎么样?

我有以下代码,但似乎每次都打开新连接。我想维持x连接一段时间。

val httpProtocol = http
        .baseURL("http://mysrv.pvt")
        .inferHtmlResources()

val uri1 = "http://mysrv.pvt"

val scn = scenario("Simulation").repeat(50){
        pause(2 seconds,20 seconds).
        exec(http("request_0")
                .get("/s1/serve.html")
        )
        }

setUp(scn.inject(
            atOnceUsers(20000)
  ).protocols(httpProtocol))

1 个答案:

答案 0 :(得分:1)

首先,你的问题不够准确。

默认情况下,Gatling每个虚拟用户有一个连接池,因此每个虚拟用户都会重复使用顺序请求之间的连接,并且在处理资源提取时可以有多个并发连接,这是在启用时执行的{{ 1}}。这样,虚拟用户就像独立的浏览器一样。

您可以更改此行为并共享公共连接池,请参阅https://jsfiddle.net/nikhilvkd/pnajhz9g/。但是,您必须确保在您的情况下这是有道理的。您的工作负载配置文件将大不相同,客户端/ Gatling和服务器/您的应用程序上的TCP堆栈收费将会减少,因此请确保您的应用程序在生产中的使用方式。