Has anyone figured out why the websocket connection for analytics queries keeps dropping after exactly 50 concurrent threads?
running a load test from singapore using jmeter 5.6.2. the goal is to simulate agents pulling real-time conversation details. i am using the platform api endpoint /api/v2/analytics/conversations/details/query. the setup involves opening a websocket connection, sending a query payload for the last 10 minutes of data, and then closing it.
when i run the test with 10 threads, everything works fine. response times are under 200ms. but as soon as i scale up to 50 threads, the websocket connections start failing with a 1006 abnormal closure code. no 429 errors in the logs. no 5xx errors either. just silent disconnects.
i checked the gen logs and see nothing obvious. the jmeter listener shows the websocket handshake succeeds (101 switching protocols), but the actual data transfer fails.
here is a snippet of the jmeter request:
{
"dateFrom": "2023-10-27T08:00:00.000Z",
"dateTo": "2023-10-27T08:10:00.000Z",
"groupBy": ["conversationId"],
"view": "realtime"
}
i have tried adding a constant timer between requests, but the disconnects still happen at the 50 thread mark. i suspect there is a hidden limit on concurrent websocket connections for analytics queries, or maybe the server is dropping connections due to memory pressure.
is there a documented limit for concurrent analytics websocket connections? or is this a known issue with the platform api under load? i need to push this to 200 concurrent users for our capacity planning.
any help would be appreciated. stuck on this for two days now.