Websocket disconnects on /api/v2/analytics/conversations/details/query after 50 concurrent threads

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.