How to run a sse load test

I run a sse load test like this:

ScenarioBuilder scn = scenario(“Scenario Name”)
.exec(
feed(feeder).exec(
sse(“SSE live broadcast”).connect(“/videosse?deviceId=#{deviceId}”)
)
)
.pause(10)
.exec(
during(500).on(
exec( sse(“SetCheck”).setCheck().await(10).on(
sse.checkMessage(“checkName”).check(substring(“this is test”))
))
)
)
.pause(10)
.exec(sse(“Close”).close());

but when I run exceed 5000 user, the program hangs , is anything wrong with my code ?

Are you sure the issue is with the Gatling client itself?
Have you checked if:

  • the one being stalled is not your application ?
  • that you’re not saturating your NIC
  • that you’re not running out of ephemeral ports?

It seems to be related to this segment:
during(500).on(
exec( sse(“SetCheck”).setCheck().await(10).on(
sse.checkMessage(“checkName”).check(substring(“this is test”))
))
I comment out this paragraph, the program no longer hangs

Did you try to close your sse when your scenario finish?

Gatling version ?
Reproducer?