Is it possible to bypass WebSocket limits in JMeter load tests?

Context:
I am running a performance test for an inbound voice campaign using Genesys Cloud version 2024-1. My environment has a max concurrent call capacity of 500. I use JMeter 5.6.2 with the WebSocket sampler plugin to simulate agent softphone connections. The goal is to stress test the connection stability under high load.

When I increase the thread group to 200 simultaneous users, the test starts failing. The error log shows WebSocket connection closed abnormally [code=1006]. This happens after about 10 seconds of connection. I checked the server logs and see no 429 errors, so it is not an API rate limit issue. It seems like the WebSocket handshake is dropping. I have verified that my OAuth token has the correct scope for webchat:connect and voice:agent. The payload is minimal, just the session ID and agent ID.

Question:
Is it possible to configure the JMeter WebSocket sampler to handle the reconnection logic automatically, or is there a specific header I am missing in the handshake request? I want to know if this is a limitation of the Genesys Cloud platform for external load generators or if my JMeter configuration is incorrect. I have tried adding a Connection: keep-alive header but it did not help.

Make sure you configure JMeter to handle WebSocket upgrades correctly. The plugin often fails if it doesn’t properly manage the HTTP handshake before switching to ws://.

Check your thread group settings. Start with 50 users to verify stability before scaling. Rate limiting on the API side might also be closing connections prematurely if requests spike too fast.