An Azure service that provides access to OpenAI’s GPT-3 models with enterprise capabilities.
Hi @Mohamed, Rihan ,
When multiple users access an Azure AI Foundry assistant at the same time, the resulting traffic can be affected by the deployment's RPM/TPM limits, burst traffic, and in some cases temporary service-side capacity constraints. The exact behavior depends on the model and deployment type.
1. Checking RPM/TPM limits
For Azure OpenAI models, the TPM assigned to a deployment maps to its token-per-minute rate limit, and an RPM limit is also enforced based on the model's quota allocation. You can review the quota assigned to the specific model/deployment in the Foundry portal under Management → Quota. It is important to check the quota allocated to the deployment receiving the traffic, not only the overall subscription quota.
You can also inspect the rate-limit headers returned by the API, including:
-
x-ratelimit-limit-requests -
x-ratelimit-remaining-requests -
x-ratelimit-limit-tokens -
x-ratelimit-remaining-tokens -
retry-after-ms
These headers provide useful information about the effective request/token limits and how long to wait after throttling.
2. Effect of concurrent users
Concurrent users generate simultaneous requests against the same deployment. A sudden burst can trigger throttling even when the total number of requests measured over a full minute appears to be below the documented RPM.
Azure OpenAI evaluates request rates over shorter intervals as well, so distributing requests evenly is important. In addition, the rate-limit token calculation takes request characteristics such as the prompt and max_tokens into account. Setting max_tokens unnecessarily high can therefore consume more rate-limit budget than expected.
3. Distinguishing rate-limit throttling from capacity-related throttling
A 429 Too Many Requests response does not by itself prove that the configured TPM/RPM quota has been exhausted.
Microsoft documents different 429 scenarios:
- Rate limit exceeded: the request exceeded the deployment's allocated RPM/TPM. In this case, reduce/smooth traffic, rebalance quota, or request additional quota.
- System capacity throttling: the service is temporarily unable to process the request because of backend capacity constraints. In this case, retry according to the
retry-after-msvalue. If the condition persists for a workload requiring predictable throughput, Provisioned Throughput can be considered. - Temporary rate-limit adjustment: the effective rate limit can temporarily be lower than the configured deployment quota during periods of high demand. Comparing
x-ratelimit-limit-tokensin the response with the deployment's configured TPM can help identify this situation.
4. Handling high-concurrency workloads
We recommend:
- Implementing retries with exponential backoff and honoring
retry-after-mswhen returned. - Avoiding large request bursts and gradually ramping up traffic.
- Reducing unnecessary prompt size and setting
max_tokensclose to the expected response size. - Monitoring the
x-ratelimit-remaining-*headers and Azure Monitor metrics. - Rebalancing or increasing TPM allocation when the deployment's allocated quota is insufficient.
- For requests that do not require an immediate response, using a queue and processing requests at a controlled rate.
- Where a single deployment cannot provide the required throughput, considering multiple deployments/regions where supported.
5. To determine the exact cause in your environment
Since the question does not include the actual error returned during the training session, could you share:
- The complete HTTP status code and error message/body from a failed request
- The
retry-after-msandx-ratelimit-*response headers, if available - The model and model version
- The deployment type, such as Standard, Global Standard, or Data Zone Standard
- The Azure region
- The approximate number of simultaneous users/requests
- The TPM allocated to the affected deployment
With these details, we can determine whether the failures are due to RPM/TPM throttling, burst/concurrency behavior, or service-side capacity constraints and identify the appropriate remediation.
References:
Manage Azure OpenAI in Microsoft Foundry Models quota
Microsoft Foundry Models quotas and limits