Can anyone explain why the WebSocket connection count hits the tenant limit prematurely during a controlled load test ramp?
I am running a performance validation on a Genesys Cloud tenant located in US-East. The goal is to simulate a sudden spike in concurrent agent logins using JMeter 5.5. The test setup uses a Thread Group with 200 threads, ramp-up time of 10 seconds, and loop count set to 1. Each thread executes a login sequence followed by a WebSocket handshake to the /v2/analytics/events/realtime endpoint. The intention is to measure how the platform handles the initial burst of connections without triggering rate limits or connection drops.
The problem occurs when the thread count exceeds 150. At this point, the JMeter logs show a significant number of WebSocket connection failures. The error message returned is 429 Too Many Requests with a retry-after header of 30 seconds. This is unexpected because the tenant’s documented WebSocket connection limit is 500 per user, and we are only testing with a single admin user account for simplicity in the initial phase. The API calls preceding the WebSocket handshake, such as /api/v2/auth/login, return 200 OK without any issues. The delay between the login and the WebSocket connection attempt is minimal, less than 200 milliseconds, to mimic real-world agent behavior.
I have verified that the JMeter configuration is correct by running the same test with only 50 threads, and all connections succeed without errors. The issue seems to be related to the concurrency level rather than the total number of connections. I have also checked the Genesys Cloud administration console for any active throttling rules or API usage alerts, but nothing stands out. The tenant has standard configuration settings with no custom rate limit overrides applied. I suspect that there might be a hidden limit on the rate of new WebSocket connections established per second, rather than just the total number of concurrent connections. Has anyone encountered a similar issue during load testing with JMeter? Any insights into how the WebSocket connection limits are enforced during a rapid ramp-up phase would be helpful.