Looking for advice on handling rate limits when load testing the Genesys Cloud Bot API endpoints.
I am running a performance test suite using JMeter 5.6.2 to validate the throughput of the POST /api/v2/bots and GET /api/v2/bots/{botId} endpoints. The goal is to simulate a high-concurrency environment where multiple integration services are polling for bot configuration updates simultaneously. We are targeting the Singapore region (us-east-1 is not an option for latency reasons).
The test setup involves 50 virtual users ramping up over 60 seconds, each executing a loop of 100 iterations. Every iteration includes a token refresh using the POST /api/v2/oauth/token endpoint with the offline_access scope, followed by a bot configuration fetch.
At approximately 45 seconds into the test, when concurrent threads hit around 30, we start seeing a significant spike in 429 Too Many Requests errors. The response headers indicate Retry-After: 5, but the JMeter script is configured to retry immediately, which just amplifies the issue. The error rate jumps from 0% to nearly 40% of all requests failing.
I have checked the API documentation and see mentions of rate limiting, but the specific thresholds for bot-related endpoints are not clearly defined for high-concurrency scenarios. I am currently using the default pagination settings.
Has anyone successfully load tested bot endpoints with similar concurrency? Are there specific headers or query parameters I should include to optimize the request flow? I am also wondering if the token refresh overhead is contributing to the rate limit triggers, or if it is purely the bot fetch calls hitting the ceiling.
Environment details:
- Genesys Cloud API Version:
v2 - JMeter Version:
5.6.2 - Region:
Singapore - Thread Count:
50 - Ramp-up:
60s - Loop Count:
100
Any insights on adjusting the test script or understanding the rate limit behavior would be appreciated. I want to ensure our integration can handle peak loads without getting throttled.