BYOC Edge WebSocket Drop During JMeter Spike

Just noticed that…

  • BYOC edge drops WebSocket connections after 200 concurrent sessions in JMeter.
  • No 504 errors, just silent disconnects on /api/v2/conversations/websockets.
  • Using Genesys Cloud US-East region with standard load test script.
  • Need to know if this is a hard limit or config issue.

This has the hallmarks of a classic integration handshake failure where the edge is dropping connections before the ServiceNow Data Action can fully process the session start event. The silent disconnects on /api/v2/conversations/websockets usually indicate that the webhook payload isn’t completing within the default 30-second timeout window during high concurrency.

Verify the Data Action configuration in Genesys Cloud isn’t exceeding this limit. If the ServiceNow REST API logs show 500 errors matching the Genesys webhook timestamps, the issue is likely downstream latency masking the edge hop.

[2023-10-27 14:32:01] WARN: WebSocket connection closed abnormally by peer: code=1006, reason=empty

Try isolating the edge hop using a custom Data Action that timestamps the webhook receipt versus the ServiceNow incident creation. This helps determine if the drop is due to BYOC latency spikes or a hard limit on concurrent digital channel sessions. Check if your ServiceNow Data Action mapping explicitly carries the legal_hold flag, as bulk exports often drop digital metadata otherwise.

If I remember correctly, this specific WebSocket drop during JMeter spikes is less about the BYOC trunk configuration itself and more about how the edge handles high-volume concurrent session initialization. The silent disconnects on /api/v2/conversations/websockets usually indicate that the connection pool is hitting a soft limit before the handshake completes.

Cause:
The default connection timeout for WebSocket handshakes is too aggressive for load testing scenarios. When 200+ sessions attempt to establish connections simultaneously, the edge drops the excess connections to protect underlying services, resulting in silent failures rather than explicit 504 errors.

Solution:
Adjust the maxConcurrentConnections parameter in your edge configuration file. Increase this value to match your expected load test capacity. Also, verify that the handshakeTimeout is set to at least 10 seconds to allow for processing delays.

{
 "edgeConfig": {
 "websocket": {
 "maxConcurrentConnections": 500,
 "handshakeTimeout": 10000
 }
 }
}

This adjustment should stabilize the connections during your spike tests.