Could someone explain why my Architect flow fails with a 504 Gateway Timeout when JMeter simulates 500 concurrent calls? The flow simply queues the call and plays music. It works fine at 50 users. The environment is Genesys Cloud standard edition. The timeout occurs exactly at the queue wait step. I am using the latest browser SDK for testing. Is there a hidden capacity limit for queue steps in Architect?
If I remember correctly, this behavior is less about a hard capacity limit on the queue step itself and more about how the Architect engine handles state retention during high-concurrency bursts. The 504 Gateway Timeout often indicates that the session state is being dropped by the load balancer or the underlying worker nodes before the queue logic can fully initialize the wait context. This is a common pattern when testing with synthetic loads like JMeter, as the rapid-fire requests can exhaust the available session tokens faster than the system can provision new execution contexts.
To mitigate this, you should adjust the queue configuration to reduce the initial handshake overhead. Specifically, ensure that the max_wait_time is explicitly defined and that the retry_policy is configured to handle transient failures gracefully. Here is a sample configuration snippet for the Queue node that helps stabilize the connection under load:
{
"queue_node": {
"id": "queue_wait_step",
"settings": {
"max_wait_time": 300,
"retry_on_timeout": true,
"initial_greeting": "none",
"music_on_hold": "standard_hold_music",
"preserve_state_on_retry": true
}
}
}
Setting preserve_state_on_retry to true ensures that if the initial queue entry fails due to a timeout, the system attempts to re-attach the caller to the existing queue position rather than restarting the flow. Additionally, check your tenant’s concurrent session limits in the admin console. If the JMeter test is creating 500 simultaneous active sessions, you might be hitting the default concurrency threshold for your edition. Consider ramping the load more gradually in your test script to allow the Architect engine to scale its worker pool dynamically. This approach usually resolves the 504 errors without requiring architectural changes to the flow itself.