Hey everyone,
I am trying to simulate a high-concurrency scenario for our custom agent desktop integration using JMeter. My goal is to stress-test the Genesys Cloud Platform API, specifically the WebSocket connections for real-time event subscriptions.
I configured my JMeter test plan to open 500 concurrent WebSocket connections to wss://api-usw2.genesyscloud.com/v2/platform/websocket. I am using the standard bearer token authentication header. The test runs fine for about 200 connections, but once I hit that mark, a significant number of connections start failing immediately with a 503 Service Unavailable error. The response body usually contains a generic JSON error message saying "message": "Service unavailable".
I have checked the Admin UI and confirmed that our organization’s WebSocket connection limit is set to 1000, so I should not be hitting a hard cap yet. I am also aware of the rate limits for the REST API, but I am not sure if there is a specific threshold for WebSocket handshakes per second that I am violating.
My JMeter script uses a simple WebSocketOpen sampler followed by a WebSocketSend sampler to subscribe to the v2.users.{id}.presence topic. I am running this from a single instance in the Asia/Singapore region, but our GC tenant is in us-east-1. Could the latency or the geographic distance be causing timeout issues that manifest as 503s?
Has anyone else encountered this specific error when scaling WebSocket connections with JMeter? Is there a recommended ramp-up time or keep-alive configuration I should adjust in my test plan to avoid these drops? Any insights on the actual handshake limit would be greatly appreciated.
Thanks!