Could someone explain the behavior of WebSocket connections during high-concurrency load tests?
Background
We are stress-testing the digital messaging channel in the US1 environment. The goal is to validate capacity planning for a peak volume of 500 concurrent users. We are using JMeter with a custom WebSocket sampler plugin. The test setup includes valid OAuth2 tokens and a standard Architect flow for inbound web chat.
Issue
When the thread count reaches 150 concurrent users, we start seeing intermittent connection drops. The JMeter logs show a WebSocket Closed event followed by a retry failure. The Genesys Cloud debug logs indicate a 429 Too Many Requests on the initial WebSocket handshake endpoint (/api/v2/analytics/events is not the issue, this is the connection setup). The error message is generic, but the pattern suggests a rate limit or connection pool exhaustion on the server side.
Troubleshooting
- Verified that each thread uses a unique session ID.
- Checked the
max_connectionssetting in our JMeter config; it is set to 1000. - Confirmed that the Architect flow does not have any intentional delays or bottlenecks.
- Tested with lower concurrency (50 threads) and the issue does not reproduce.
Is there a specific limit on concurrent WebSocket connections per organization or per API key? We are a beginner in this area and want to ensure we are not hitting a hard cap. Any insights on how to properly scale this test would be appreciated.