【问题标题】:Gatling repeat with connection re-use加特林重复连接重用
【发布时间】:2016-01-25 07:47:36
【问题描述】:

使用 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))

【问题讨论】:

    标签: gatling


    【解决方案1】:

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

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

    您可以更改此行为并共享一个公共连接池,请参阅doc。但是,您必须确保这对您的情况有意义。您的工作负载配置文件将非常不同,客户端/Gatling 和服务器/您的应用程序上的 TCP 堆栈的开销会更少,因此请确保您的应用程序在生产中是这样使用的。

    【讨论】:

    • 嗯 .. 好的 .. 正如我所说的最终目标是偶尔请求保持 20k 连接几分钟.. 我确实尝试了 shareConnections;但是后来只有 300 个左右的连接而不是 20K 连接.. 这可能是设计的,因为文档说用户将共享连接。
    • 您会暂停 2 到 20 秒,因此您的服务器很有可能会在连续请求之间关闭空闲连接。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-06
    • 2014-08-21
    • 1970-01-01
    • 2020-05-20
    • 2013-01-12
    相关资源
    最近更新 更多