Premature close with 5 QPS but different user load

Gatling version: 3.11.3 (must be up to date)

I read the guidelines and how to ask a question topics.
I provided a SSCCE (or at least, all information to help the community understand my topic)
I copied output I observe, and explain what I think should be.


Hi, I have a weird use case that leads to different results, take an example that I have 1000 Users data in a csv file, with a workflow that contains 1 API call only, then I configure this workload:

    private val scenario = scenario
          .inject(
            rampConcurrentUsers(0).to(100).during(50),
            constantConcurrentUsers(100) during (10 minutes))
          .throttle(reachRps(5) in (5 seconds),holdFor(10 minutes))
          .protocols(httpconf.httpProtocol)

With this scenario, when I hit 5 minutes timestamp, it will return a Premature Close error, I understand this as target server cannot handle this much load. But then I reduce down to 30 users as this:

    private val scenario = scenario
          .inject(
            rampConcurrentUsers(0).to(30).during(30),
            constantConcurrentUsers(30) during (10 minutes))
          .throttle(reachRps(5) in (5 seconds),holdFor(10 minutes))
          .protocols(httpconf.httpProtocol)

No premature close error found, I am really not sure why there is such a difference between these two scenario, so I hope for a brief explaination :slight_smile: many thanks

Edit: After some experiments, I notice that if QPS is too low comparing to the users load (as example above) then a lot of users will be connected but hanging, and when it reaches deadline (10 seconds) then it will be terminated thus return in a premature close. I may not understand this correctly, so any help would be welcomed

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.