Stuck on a weird throttling issue while trying to validate the reporting pipeline under load. We are running a stress test to see how the system handles concurrent data pulls after a simulated burst of 5,000 calls. The goal is to ensure the analytics engine doesn’t choke when multiple dashboards refresh simultaneously.
Using JMeter 5.6.2 with 10 concurrent threads hitting the POST /api/v2/analytics/interactions/query endpoint. The request payload is standard, asking for a 15-minute window with group by on mediaType and queueId.
Initially, the requests return 200 OK with the expected JSON payload. But after about 30 seconds, every single thread starts getting 429 Too Many Requests. The Retry-After header is set to 60 seconds, which kills our throughput metrics completely. This is happening even though we are well below the documented 300 requests per minute limit for this endpoint.
Environment details:
- Region:
APAC - Singapore - Genesys Cloud Version:
2023.2 - JMeter:
5.6.2 - Auth:
OAuth 2.0withrefresh_tokengrant type
I checked the network traffic using Wireshark, and the TCP handshakes are fine. The issue is purely at the API gateway level. I tried adding a 100ms delay between requests, but the 429s still appear. It feels like the rate limit is being calculated per IP or per tenant rather than per API key, but our docs say it’s per application ID.
Has anyone seen this behavior with the analytics query endpoint? Is there a specific header or configuration we are missing to handle this load pattern? We need to prove the system can handle 100 concurrent dashboard loads, but this rate limit is blocking us. Any insights on how to structure these requests to avoid the throttle would be appreciated. We are essentially stuck in a retry loop that never resolves.