Could someone explain the behavior of WebSocket disconnections when simulating high-concurrency digital messaging traffic in Genesys Cloud? We are conducting a capacity validation for a new omnichannel deployment and are seeing unexpected connection resets.
Environment Details:
- Genesys Cloud Version: 10.5 (Production Org)
- Load Testing Tool: JMeter 5.6.2 with WebSocket Samplers
- Target Endpoint: /api/v2/analytics/conversations/details/query (for monitoring) and standard WebSocket endpoint for message streaming.
- Simulated Load: 5,000 concurrent users initiating chat sessions over a 30-minute ramp-up period.
The issue manifests after approximately 1,200 concurrent active sessions. The JMeter logs show a sudden spike in WebSocketClosedException errors. The server returns a close code of 1006 (Abnormal Closure) rather than a clean 1000 (Normal Closure). This happens consistently at the same concurrency threshold, suggesting a hard limit or a resource exhaustion issue on the platform side, rather than random network noise.
We have verified that the API rate limits for the REST endpoints used to initiate the conversations are not being hit (no 429 errors). The problem is strictly within the persistent WebSocket connections. We are also monitoring the Architect flow for the chat interaction, which includes a simple IVR and then a queue assignment. There are no complex data actions or external API calls that would cause a delay in the handshake.
Is there a documented limit on concurrent WebSocket connections per organization or per user token? Or is this a sign that we need to implement a different connection pooling strategy in our load test configuration? We want to ensure our infrastructure can handle the projected Black Friday traffic without dropping customer messages.
Any insights on how other load testing engineers handle WebSocket scaling in Genesys Cloud would be appreciated.
Thanks for the help.