使用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))
答案 0 :(得分:1)
首先,你的问题不够准确。
默认情况下,Gatling每个虚拟用户有一个连接池,因此每个虚拟用户都会重复使用顺序请求之间的连接,并且在处理资源提取时可以有多个并发连接,这是在启用时执行的{{ 1}}。这样,虚拟用户就像独立的浏览器一样。
您可以更改此行为并共享公共连接池,请参阅https://jsfiddle.net/nikhilvkd/pnajhz9g/。但是,您必须确保在您的情况下这是有道理的。您的工作负载配置文件将大不相同,客户端/ Gatling和服务器/您的应用程序上的TCP堆栈收费将会减少,因此请确保您的应用程序在生产中的使用方式。